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

[오라클 SQL 함수] TO_BINARY_FLOAT 함수

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

포스팅 목차

     

    TO_BINARY_FLOAT

     


    문법

     

    to_binary_float::=

     


    목적 

    TO_BINARY_FLOAT함수는 지정한 인수를 BINARY_FLOAT 타입의 값으로 변환하여 단일 정밀도 부동 소수점 수(single-precision floating-point number)를 반환한다.

    • expr은 NUMBER, BINARY_FLOAT, BINARY_DOUBLE 형태의 문자열 또는 상수값을 지정할 수 있다. 만약 expr은 BINARY_FLOAT이라면, 함수는 expr을 반환한다.
    • 옵션 'fmt'와 'nlsparam' 인수는 expr이 문자열이라면 유효하다. 이런 인수는 TO_CHAR(수치) 함수에 대하여 동일한 용도로 사용된다.
      • Incase-sensitive(대소문자가 구별되지 않는) 문자열 'INF'는 양의 무한대로 변환된다.
      • Incase-sensitive(대소문자가 구별되지 않는) 문자열 '-INF'는 음의 무한대로 변환된다.
      • Incase-sensitive(대소문자가 구별되지 않는) 문자열 'NaN'는 NaN(수치가 아닌)으로 변환된다.

    문자열 expr에는 부동소수점 수 서식(floating-point number format) 요소(F, f, D, d)는 사용할 수 없다.

    문자열 또는 NUMBER로부터 BINARY_FLOAT으로 변환은 정확하게 행해지지 않을 수 있다. 그 이유는, NUMBER와 문자 타입은 수치 값을 표현하기 위해 십진법 정밀도를 이용하고, BINARY_FLOAT는 이진법 정밀도를 이용하기 때문이다.

    만약 BINARY_DOUBLE값이 BINARY_FLOAT에 의해 지원하는 것보다 더 많은 정밀도 비트를 이용한다면, BINARY_DOUBLE 값으로부터 BINARY_FLOAT로 변환은 정확하게 행해지지 않는다.

     


    예제

    TO_BINARY_DOUBLE으로 생성한 float_point_demo 테이블을 이용하여, 다음 예제는 NUMBER 데이터형의 값을 BINARY_FLOAT 데이터형의 값으로 변환한다.

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

     

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

     

     


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

     

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

    댓글