- 카테고리:
반정형 및 정형 데이터 함수 (캐스트)
AS_DECIMAL , AS_NUMBER¶
선택적 정밀도와 소수 자릿수로 VARIANT 값을 고정 소수점 NUMBER 값으로 형 변환합니다. 이 함수는 부동소수점 값을 형 변환하지 않습니다.
AS_DECIMAL 은 AS_NUMBER 의 동의어입니다.
DECIMAL 데이터 타입은 NUMBER 데이터 타입과 동의어입니다.
- 참고 항목:
구문¶
AS_DECIMAL( <variant_expr> [ , <precision> [ , <scale> ] ] )
AS_NUMBER( <variant_expr> [ , <precision> [ , <scale> ] ] )
인자¶
variant_expr
VARIANT 형식의 값으로 평가되는 식입니다.
precision
저장할 10진수의 유효 자릿수입니다.
기본값은
38
입니다.scale
소수점 이하 유효 자릿수입니다.
기본값은
0
입니다.
반환¶
함수는 NUMBER 또는 NULL 형식의 값을 반환합니다.
variant_expr
인자에 있는 값의 유형이 DECIMAL 또는 NUMBER 인 경우 함수는 NUMBER 유형의 값을 반환합니다.
variant_expr
인자에 있는 값의 유형이 출력 값의 유형과 일치하지 않으면 함수는 NULL 을 반환합니다.variant_expr
인자가 NULL 인 경우 함수는 NULL 을 반환합니다.
사용법 노트¶
소수 자릿수을 줄일 때 이 함수는 결과를 반올립합니다. 이로 인해, 범위를 벗어난 오류가 발생할 수 있습니다.
예¶
테이블을 만들고 이에 데이터를 로딩합니다.
CREATE OR REPLACE TABLE as_number_example (number1 VARIANT);
INSERT INTO as_number_example (number1)
SELECT TO_VARIANT(TO_NUMBER(2.34, 6, 3));
쿼리에서 AS_NUMBER 함수를 사용하여 VARIANT 값을 NUMBER 값으로 형 변환합니다.
SELECT AS_NUMBER(number1, 6, 3) number_value
FROM as_number_example;
+--------------+
| NUMBER_VALUE |
|--------------|
| 2.340 |
+--------------+