TO_NUMBER
구문
TO_NUMBER(expr [ DEFAULT return_value ON CONVERSION ERROR ]
[, fmt [, 'nlsparam' ] ])
목적
TO_NUMBER는 expr을 NUMBER 데이터 유형의 값으로 변환합니다.
expr은 CHAR, VARCHAR2, NCHAR 또는 NVARCHAR2 유형의 문자열 표현식, NUMBER, BINARY_FLOAT 또는 BINARY_DOUBLE 유형의 숫자 값 또는 null이 될 수 있습니다. expr이 NUMBER이면 함수는 expr을 반환합니다. expr이 null로 평가되면 함수는 null을 반환합니다. 그렇지 않으면 함수는 expr을 NUMBER 값으로 변환합니다.
- expr을 CHAR, VARCHAR2, NCHAR 또는 NVARCHAR2 데이터 유형으로 지정하면 선택적으로 형식 모델 fmt을 지정할 수 있습니다.
- expr을 BINARY_FLOAT 또는 BINARY_DOUBLE 데이터 유형으로 지정하는 경우 내부 표현에 의해만 해석될 수 있기 때문에 형식 모델을 지정할 수 없습니다.
숫자 형식에 대한 정보는 "Format Models"을 참조하십시오.
이 함수의 'nlsparam' 인수는 TO_CHAR 함수의 숫자 변환에 사용되는 것과 동일한 목적으로 사용됩니다. 숫자 변환에 대한 자세한 내용은 TO_CHAR (number)를 참조하십시오.
이 함수는 CLOB 데이터를 직접 지원하지 않습니다. 그러나 CLOB는 암시적 데이터 변환을 통해 인수로 전달할 수 있습니다.
참고:
더 많은 정보는 "Data Type Comparison Rules"을 참조하십시오.
예제
다음 예제는 문자열 데이터를 숫자로 변환하는 방법을 보여줍니다:
UPDATE employees SET salary = salary +
TO_NUMBER('100.00', '9G999D99')
WHERE last_name = 'Perkins';
SELECT TO_NUMBER('-AusDollars100','L9G999D99',
' NLS_NUMERIC_CHARACTERS = '',.''
NLS_CURRENCY = ''AusDollars''
') "Amount"
FROM DUAL;
Amount
----------
-100
다음 예제는 지정된 표현식을 NUMBER 값으로 변환할 수 없기 때문에 기본값인 0을 반환합니다:
SELECT TO_NUMBER('2,00' DEFAULT 0 ON CONVERSION ERROR) "Value"
FROM DUAL;
Value
--------
0
출처: 오라클 레퍼런스
원문 링크: Oracle TO_NUMBER 함수 문서
'코딩 > 오라클 함수' 카테고리의 다른 글
[오라클 레퍼런스 함수] TO_TIMESTAMP - TIMESTAMP 유형으로 변환 (0) | 2023.09.01 |
---|---|
[오라클 레퍼런스 함수] TO_SINGLE_BYTE - 다중바이트 문자를 단일바이트 문자로 변환 (0) | 2023.09.01 |
[오라클 레퍼런스 함수] TO_NCLOB - CLOB 값 또는 문자열을 NCLOB 값으로 변환 (0) | 2023.08.31 |
[오라클 레퍼런스 함수] TO_NCHAR (number) - 숫자를 국가 문자 집합(national character set)으로 변환 (0) | 2023.08.31 |
[오라클 레퍼런스 함수] TO_NCHAR (datetime) - 날짜 및 시간 데이터를 국가 문자 집합(national character set)으로 변환 (0) | 2023.08.31 |
댓글