포스팅 목차
o 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 예제로 만나는 테이블 데이터 처리 방법 리스트 링크 |
반응형
'오라클 게시판 > 오라클 함수' 카테고리의 다른 글
【오라클(Oracle) SQL 함수】 TO_CHAR (character) 함수 (0) | 2021.10.21 |
---|---|
[오라클 SQL 함수] TO_BINARY_FLOAT 함수 (0) | 2021.10.21 |
[오라클 SQL 함수] TIMESTAMP_TO_SCN 함수 (0) | 2021.10.21 |
【오라클(Oracle) SQL 함수】 TANH 함수 (0) | 2021.10.21 |
【오라클(Oracle) SQL 함수】 TAN 함수 (0) | 2021.10.21 |
댓글