본문 바로가기
오라클 게시판/오라클 함수

[오라클 SQL 함수] TO_BINARY_DOUBLE 함수

by 기서무나구물 2021. 10. 21.

포스팅 목차

     

    TO_BINARY_DOUBLE

     


    문법

     

    to_binary_double::=

     


    목적 

    TO_BINARY_DOUBLE함수는 지정한 인수를 BINARY_DOUBLE 타입의 값으로 변환하여 복수 정밀도 부동 소수점 수(double-precision floating-point number)를 반환한다.

    • 인수 expr은 문자열 또는 NUMBER, BINARY_FLOAT, BINARY_DOUBLE 형태의 수치 값을 지정할 수 있다. 만약 expr이 BINARY_DOUBLE이라면, 함수는 expr을 반환한다.
    • expr이 문자열 인경우에만, 옵션 'fmt'와 'nlsparam'인수는 유효하다. 이런 인수는 TO_CHAR(수치) 함수와 같은 목적으로 사용된다.
      • 대소문자를 구별하지 않는 'INF'는 양의 무한대로 변환된다.
      • 대소문자를 구별하지 않는 '-INF'는 음의 무한대로 변환된다.
      • 대소문자를 구별하지 않는 'NaN'은 NaN(비수치)으로 변환된다.

    expr문자열에는 부동소수점 수 포맷 요소(F, f, D, d)는 사용할 수 없다.

    문자열 또는 NUMBER로부터 BINARY_DOUBLE로 변환은 부정확할 수 있다. 그 이유는 NUMBER와 문자 형태는 수치 값을 표현하기 위하여 십진수 정밀도를 이용하고, BINARY_DOUBLE는 이진수 정밀도를 이용한다.

    BINARY_FLOAT를 BINARY_DOUBLE로 변환은 정확히 수행된다.

     


    예제

    다음 예제는 각각 다른 수치 데이터형의 3개의 열을 가지는 테이블을 사용한다.

    Oracle Program
    CREATE TABLE float_point_demo
      (dec_num NUMBER(10,2), bin_double BINARY_DOUBLE, bin_float BINARY_FLOAT);
    
    INSERT INTO float_point_demo
      VALUES (1234.56,1234.56,1234.56);
    
    SELECT * FROM float_point_demo;

     

    Results
       DEC_NUM BIN_DOUBLE  BIN_FLOAT
    ---------- ---------- ----------
       1234.56 1.235E+003 1.235E+003

     


    다음 예제는 NUMBER 데이터형의 값을 BINARY_DOUBLE의 값으로 변환한다.

    Oracle Program
    SELECT dec_num, TO_BINARY_DOUBLE(dec_num)
      FROM float_point_demo;

     

    Results
       DEC_NUM TO_BINARY_DOUBLE(DEC_NUM)
    ---------- -------------------------
       1234.56                1.235E+003

     


    다음 예제는 dec_num과 bin_double열로부터 추출된 dump 정보를 비교한다.

    Oracle Program
    SELECT DUMP(dec_num) "Decimal",
       DUMP(bin_double) "Double"
       FROM float_point_demo;
    Results
    Decimal                     Double
    --------------------------- ---------------------------------------------
    Typ=2 Len=4: 194,13,35,57   Typ=101 Len=8: 192,147,74,61,112,163,215,10

     


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

     

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

    댓글