본문 바로가기
통계프로그램 비교 시리즈/오라클함수 비교(R & Python)

REVERSE 오라클 함수 [Oracle, Pandas, R Prog, Dplyr, Sqldf, Pandasql, Data.Table, DuckDB]

by 기서무나구물 2022. 1. 3.

포스팅 목차

    * 파이썬 & R 패키지 호출 및 예제 데이터 생성 링크


    [ REVERSE Oracle Function ]

     


    REVERSE 함수는 대상 문자열을 거꾸로 반환한다.

     

     


    1. Oracle(오라클)

     

    REVERSE() 함수

    Oracle Programming
    SELECT REVERSE('STATWITH') REVERSE_FUNC
    FROM   DUAL

     

    Results
    REVERSE_FUNC
    -----------------
    HTIWTATS

     


    2. Python Pandas(파이썬)

     

    문자열 추출

    문자열의 맨 뒤 문자부터 1개씩 출력한다.

     

    Python Programming
    'STATWITH'[::-1]

     

    Results
    'HTIWTATS'

     


    join() 함수와 reversed() 함수

    Python Programming
    ''.join(reversed('STATWITH'))

     

    Results
    'HTIWTATS'

     


    문자열 추출

    사원명의 맨 뒤 문자를 1개씩 출력한다.

     

    Python Programming
    emp['ename'].apply(lambda x: x[::-1]).head(7)

     

    Results
    0     HTIMS
    1     NELLA
    2      DRAW
    3     SENOJ
    4    NITRAM
    5     EKALB
    6     KRALC
    Name: ename, dtype: object

     

     


    3. R Programming (R Package)

     

    stringi::stri_reverse() 함수

    stringi::stri_reverse 함수 : 문자열의 맨 뒤 문자부터 1개씩 출력한다. 문자열의 코드 포인트 순서를 역순으로 지정하여서 문자열을 뒤집어 출력한다.

     

    R Programming
    %%R
    
    stringi::stri_reverse('STATWITH')

     

    Results
    [1] "HTIWTATS"

     


    rev() 함수

    R Programming
    %%R
    
    paste( rev( strsplit('STATWITH', "")[[1]] ) , collapse = "")

     

    Results
    [1] "HTIWTATS"

     


    rev() 함수

    R Programming
    %%R
    
    intToUtf8(rev(utf8ToInt('STATWITH')))

     

    Results
    [1] "HTIWTATS"

     


    stringi::stri_reverse() 함수

    stringi::stri_reverse 함수를 사용하여서 사원명을 역순으로 출력한다.

     

    R Programming
    %%R
    
    withmooc <- emp
    
    withmooc['str_reverse'] = stringi::stri_reverse(withmooc$ename)
    
    withmooc[1:10, ]

     

    Results
    # A tibble: 10 x 9
       empno ename  job         mgr hiredate     sal  comm deptno str_reverse
       <dbl> <chr>  <chr>     <dbl> <date>     <dbl> <dbl>  <dbl> <chr>      
     1  7369 SMITH  CLERK      7902 1980-12-17   800    NA     20 HTIMS      
     2  7499 ALLEN  SALESMAN   7698 1981-02-20  1600   300     30 NELLA      
     3  7521 WARD   SALESMAN   7698 1981-02-22  1250   500     30 DRAW       
     4  7566 JONES  MANAGER    7839 1981-04-02  2975    NA     20 SENOJ      
     5  7654 MARTIN SALESMAN   7698 1981-09-28  1250  1400     30 NITRAM     
     6  7698 BLAKE  MANAGER    7839 1981-03-01  2850    NA     30 EKALB      
     7  7782 CLARK  MANAGER    7839 1981-01-09  2450    NA     10 KRALC      
     8  7788 SCOTT  ANALYST    7566 1982-12-09  3000    NA     20 TTOCS      
     9  7839 KING   PRESIDENT    NA 1981-11-17  5000    NA     10 GNIK       
    10  7844 TURNER SALESMAN   7698 1981-09-08  1500     0     30 RENRUT     

     

     


    4. R Dplyr Package

     

    stringi::stri_reverse() 함수

    R Programming
    %%R
    
    emp %>%
      dplyr::mutate(str_reverse = stringi::stri_reverse(ename)) %>%
      head()

     

    Results
    # A tibble: 6 x 9
      empno ename  job        mgr hiredate     sal  comm deptno str_reverse
      <dbl> <chr>  <chr>    <dbl> <date>     <dbl> <dbl>  <dbl> <chr>      
    1  7369 SMITH  CLERK     7902 1980-12-17   800    NA     20 HTIMS      
    2  7499 ALLEN  SALESMAN  7698 1981-02-20  1600   300     30 NELLA      
    3  7521 WARD   SALESMAN  7698 1981-02-22  1250   500     30 DRAW       
    4  7566 JONES  MANAGER   7839 1981-04-02  2975    NA     20 SENOJ      
    5  7654 MARTIN SALESMAN  7698 1981-09-28  1250  1400     30 NITRAM     
    6  7698 BLAKE  MANAGER   7839 1981-03-01  2850    NA     30 EKALB      

     

     


    5. R sqldf Package

     

    reverse() 함수

    R Programming
    %%R
    
    sqldf(" SELECT reverse('STATWITH') str_reverse ")

     

    Results
      str_reverse
    1    HTIWTATS

     

     


    6. Python pandasql Package

     

    reverse() 함수

    Python Programming
    ps.sqldf(" SELECT reverse('STATWITH') ")

     

     


    7. R data.table Package

     

    stringi::stri_reverse() 함수

    R Programming
    %%R
    
    DT          <- data.table(emp)
    dept_DT     <- data.table(dept)
    
    DT[,str_reverse := stringi::stri_reverse(ename)][1:10, ]

     

    Results
        empno  ename       job  mgr   hiredate  sal comm deptno str_reverse
     1:  7369  SMITH     CLERK 7902 1980-12-17  800   NA     20       HTIMS
     2:  7499  ALLEN  SALESMAN 7698 1981-02-20 1600  300     30       NELLA
     3:  7521   WARD  SALESMAN 7698 1981-02-22 1250  500     30        DRAW
     4:  7566  JONES   MANAGER 7839 1981-04-02 2975   NA     20       SENOJ
     5:  7654 MARTIN  SALESMAN 7698 1981-09-28 1250 1400     30      NITRAM
     6:  7698  BLAKE   MANAGER 7839 1981-03-01 2850   NA     30       EKALB
     7:  7782  CLARK   MANAGER 7839 1981-01-09 2450   NA     10       KRALC
     8:  7788  SCOTT   ANALYST 7566 1982-12-09 3000   NA     20       TTOCS
     9:  7839   KING PRESIDENT   NA 1981-11-17 5000   NA     10        GNIK
    10:  7844 TURNER  SALESMAN 7698 1981-09-08 1500    0     30      RENRUT

     


    8. Python Duckdb의 SQL

     

    Reverse() 함수

     

    Python Programming
    %%sql
      SELECT REVERSE('STATWITH') as Reverse_func

     

    Python Programming
    duckdb.sql(" SELECT REVERSE('STATWITH') as Reverse_func ").df()

     

    Results
      Reverse_func
    0     HTIWTATS

     

     


    The mirror of my Subaru facing the city of Indianapolis. ( https://unsplash.com/photos/CHPtjF-bir0 )

      --------------------------------------------  

     

     

    [Oracle, Pandas, R Prog, Dplyr, Sqldf, Pandasql, Data.Table] 오라클 함수와 R & Python 비교 사전 목록 링크

     

    오라클 SQL 함수(Oracle SQL Function) 목록 리스트 링크

     

    [SQL, Pandas, R Prog, Dplyr, SQLDF, PANDASQL, DATA.TABLE] SQL EMP 예제로 만나는 테이블 데이터 처리 방법 리스트 링크 링크
    반응형

    댓글