- 카테고리:
TO_DOUBLE¶
식을 배정밀도 부동 소수점 숫자로 변환합니다.
NULL 입력의 경우, 결과는 NULL입니다.
- 참고 항목:
구문¶
TO_DOUBLE( <expr> [, '<format>' ] )
인자¶
expr
식 숫자, 문자 또는 베리언트 형식의 식입니다.format
식이 문자열로 평가되는 경우, 함수는 선택적 형식 모델을 허용합니다. 형식 모델은 SQL 형식 모델 에서 설명합니다. 형식 모델은 출력 값의 형식이 아니라 입력 문자열의 형식을 지정합니다.
사용법 노트¶
고정 소수점 숫자는 부동 소수점으로 변환됩니다. 변환은 실패할 수 없지만, 정밀도가 손실될 수 있습니다.
문자열은 10진 정수 또는 소수로 변환되며 과학적 표기법 및 특수 값(nan, inf, infinity)이 허용됩니다.
VARIANT 입력의 경우:
베리언트에 고정 소수점 값이 포함된 경우, 숫자 변환이 수행됩니다.
베리언트에 부동 소수점 값이 포함된 경우, 값은 변경되지 않고 유지됩니다.
베리언트에 문자열이 포함된 경우, 문자열 변환이 수행됩니다.
베리언트에 부울 값이 포함된 경우, 결과는 0 또는 1입니다(false 및 true에 각각 해당).
베리언트에 JSON null 값이 포함된 경우, 출력은 NULL입니다.
소수점 이하 자릿수를 2진수로 변환했다가 그 반대로 변환하는 것은 정확하지 않습니다(즉, 10진수 표현에서 변환된 부동 소수점 숫자를 출력하면 약간 다른 숫자가 생성될 수 있음). 소수점 이하 자릿수를 정확하게 표현해야 하는 경우, 고정 소수점 숫자를 사용하십시오.
예¶
다양한 데이터 타입의 열이 있는 테이블을 만든 후 이 스크립트는 각 열에 대해 TO_DOUBLE
을 호출합니다.
CREATE TABLE double_demo (d DECIMAL(7, 2), v VARCHAR, o VARIANT); INSERT INTO double_demo (d, v, o) SELECT 1.1, '2.2', TO_VARIANT(3.14); SELECT TO_DOUBLE(d), TO_DOUBLE(v), TO_DOUBLE(o) FROM double_demo;출력:
+--------------+--------------+--------------+ | TO_DOUBLE(D) | TO_DOUBLE(V) | TO_DOUBLE(O) | |--------------+--------------+--------------| | 1.1 | 2.2 | 3.14 | +--------------+--------------+--------------+