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

BIN_TO_NUM Oracle Function [Oracle, Pandas, R Prog, Dplyr, Sqldf, Pandasql, Data.Table]

by 기서무나구물 2021. 11. 20.

포스팅 목차

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


    [ BIN_TO_NUM 함수 ]

     


    BIN_TO_NUM 함수는 비트(2진수) 벡터를 동등한 수치(10진수)로 변환한다.

    ( 2진수를 10진수로 변환) 이 함수에 대한 각 인수는 2진수의 비트를 나타낸다. 이 함수는 인수로서 임의의 수치 데이터형 또는 암묵적으로 NUMBER로 변환 가능한 수치 이외의 데이터형을 취한다. 각 expr은 0 또는 1을 평가될 필요가 있다. 이 함수는 오라클 NUMBER를 반환한다.

     

     


    1. Oracle(오라클)

     

    Oracle Programming
    SELECT BIN_TO_NUM(1,0,1,0) BIN_TO_NUM_FUNC
    FROM   DUAL;

     

    Results
    BIN_TO_NUM_FUNC
    ---------------------
    10

     


    2. Python Pandas(파이썬)

     

    • 2진수를 10진수로 변환
    Python Programming
    int('1010',2)

     

    Results
    10

     


    3. R Programming (R Package)

     

    R Programming
    %%R
    
    library(compositions)
    unbinary('1010')

     

    Results
    [1] 10

     


    4. R Dplyr Package

     


    5. R sqldf Package

     

    R Programming
    %%R
    
    sqldf(" SELECT sqlite_version() ")

     

    Results
      sqlite_version()
    1           3.30.1

     


    [참고] 10진수를 2진수로 변경

    R Programming
    %%R
    
    sqldf(" select case (a>>15)&1 when 1 then '1' else '0' end ||
                   case (a>>14)&1 when 1 then '1' else '0' end ||
                   case (a>>13)&1 when 1 then '1' else '0' end ||
                   case (a>>12)&1 when 1 then '1' else '0' end ||
                   case (a>>11)&1 when 1 then '1' else '0' end ||
                   case (a>>10)&1 when 1 then '1' else '0' end ||
                   case (a>> 9)&1 when 1 then '1' else '0' end ||
                   case (a>> 8)&1 when 1 then '1' else '0' end ||
                   case (a>> 7)&1 when 1 then '1' else '0' end ||
                   case (a>> 6)&1 when 1 then '1' else '0' end ||
                   case (a>> 5)&1 when 1 then '1' else '0' end ||
                   case (a>> 4)&1 when 1 then '1' else '0' end ||
                   case (a>> 3)&1 when 1 then '1' else '0' end ||
                   case (a>> 2)&1 when 1 then '1' else '0' end ||
                   case (a>> 1)&1 when 1 then '1' else '0' end ||
                   case (a>> 0)&1 when 1 then '1' else '0' end var
            from (select 10 as a) ")

     

    Results
                   var
    1 0000000000001010

     

     

     


    6. Python pandasql Package

     

    • Sqlite 버젼 확인
    Python Programming
    ps.sqldf(" SELECT sqlite_version() ")

     

    Results
    	sqlite_version()
    0	3.32.3

     


    Python Programming
    ps.sqldf(" select case (a>>15)&1 when 1 then '1' else '0' end ||     \
                      case (a>>14)&1 when 1 then '1' else '0' end ||     \
                      case (a>>13)&1 when 1 then '1' else '0' end ||     \
                      case (a>>12)&1 when 1 then '1' else '0' end ||     \
                      case (a>>11)&1 when 1 then '1' else '0' end ||     \
                      case (a>>10)&1 when 1 then '1' else '0' end ||     \
                      case (a>> 9)&1 when 1 then '1' else '0' end ||     \
                      case (a>> 8)&1 when 1 then '1' else '0' end ||     \
                      case (a>> 7)&1 when 1 then '1' else '0' end ||     \
                      case (a>> 6)&1 when 1 then '1' else '0' end ||     \
                      case (a>> 5)&1 when 1 then '1' else '0' end ||     \
                      case (a>> 4)&1 when 1 then '1' else '0' end ||     \
                      case (a>> 3)&1 when 1 then '1' else '0' end ||     \
                      case (a>> 2)&1 when 1 then '1' else '0' end ||     \
                      case (a>> 1)&1 when 1 then '1' else '0' end ||     \
                      case (a>> 0)&1 when 1 then '1' else '0' end var     \
               from (select 10 as a) ")

     

    Results
    	var
    0	0000000000001010

     


    7. R data.table Package

     

     


    https://unsplash.com/photos/jpeTs-VfP68

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

    [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 예제로 만나는 테이블 데이터 처리 방법 리스트 링크 링크
    반응형

    댓글