본문 바로가기

[오라클 레퍼런스 함수] TO_NUMBER - NUMBER 유형으로 변환

by ㅇㅍㅍ 2023. 9. 1.
[오라클 레퍼런스 함수] TO_NUMBER - NUMBER 유형으로 변환
728x90

 

TO_NUMBER

 

구문

TO_NUMBER(expr [ DEFAULT return_value ON CONVERSION ERROR ]
  [, fmt [, 'nlsparam' ] ])

 

목적

TO_NUMBERexprNUMBER 데이터 유형의 값으로 변환합니다.

exprCHAR, VARCHAR2, NCHAR 또는 NVARCHAR2 유형의 문자열 표현식, NUMBER, BINARY_FLOAT 또는 BINARY_DOUBLE 유형의 숫자 값 또는 null이 될 수 있습니다. exprNUMBER이면 함수는 expr을 반환합니다. expr이 null로 평가되면 함수는 null을 반환합니다. 그렇지 않으면 함수는 exprNUMBER 값으로 변환합니다.

  • exprCHAR, VARCHAR2, NCHAR 또는 NVARCHAR2 데이터 유형으로 지정하면 선택적으로 형식 모델 fmt을 지정할 수 있습니다.
  • exprBINARY_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 함수 문서

 

반응형

댓글