Notice
Recent Posts
Recent Comments
Link
쯔이's Dev
FUNCTION(4) - 단일행 함수(형 변환 함수 - TO DATE, TO_NUMBER) 본문
반응형
* 문자열(VARCHAR2) : 좌측 정렬
* 숫자(NUMBER) : 우측 정렬
< TO_DATE >
숫자타입 또는 문자타입을 날짜타입으로 변경하는 함수
* 50년 미만은 자동으로 20XX으로 설정, 50년 이상은 19XX으로 설정된다.
[표현법]
TO_DATE( 숫자 | ' 문자 ', '포맷' )
< 주의!! >
* 숫자는 0으로 시작할 수 없다. 예를 들어 02년이라면 2002라고 다 적어줘야한다.
* 숫자타입은 연 월 일로 인식되기에 최소한 6자리를 적어줘야한다.
* 문자타입은 포맷을 정해줘야 시, 분, 초를 표시할 수 있다.
숫자로 연월일과 시,분, 초까지 다 적어줬는데 포맷이 없거나 포맷의 종류가 부족하다면 에러가 뜬다.
숫자로 연월일 만 적고 포맷이 연월일시분초가 다 적혀있다면 00:00:00로 표시된다.
SELECT
to_date('020505 120500')
FROM
dual;
SELECT
TO_DATE('020505 120500', 'YYMMDD HH24MISS')
FROM
dual;
< TO_NUMBER >
문자타입의 데이터를 숫자타입으로 변환시켜주는 함수
[표현법]
TO_NUMBER( ' 문자 ', ' 포맷 ' )
* NUMBER는 정수, 실수 모두 가능
SELECT
to_number('05123456789')
FROM
dual;
* 문자 데이터 중에서 숫자형식은 자동형변환이 되서 연산이 가능하다. 단, 아무런 기호 없이 ONLY 숫자!!
SELECT
'100000' + '55000'
FROM
dual;
* 숫자로 보이는 문자데이터에 콤마가 있으면 자동 형변환이 안된다.
SELECT
'100,000' + '55,000'
FROM
dual;
그러므로 각각 TO_NUMBER로 형변환 해준 후 연산이 가능하다.
SELECT
to_number('100,000', '999,999') + to_number('55,000', '99,000')--9도 가능하고 0도 가능하다
FROM
dual;
728x90
반응형
'SQL > 함수' 카테고리의 다른 글
FUNCTION(6) - 집계 함수(SUM, AVG, MIN, MAX, COUNT) (2) | 2024.08.17 |
---|---|
FUNCTION(5) - 단일행 함수(NULL처리 함수) (0) | 2024.08.15 |
FUNCTION(3) - 단일행 함수(형 변환 함수 - TO CHAR) (0) | 2024.08.13 |
FUNCTION(2) - 단일행 함수(숫자 처리 함수) (1) | 2024.08.12 |
FUNCTION(1) - 단일행 함수(문자처리함수) (0) | 2024.08.11 |