본문 바로가기

카테고리 없음

누구나 쉽게 SQL 6.2.4 형변환 함수 (TO_CHAR, TO_DATE)

반응형

실무에서 많이 활용되는 함수 중 하나인 형변환 함수. 형변환 함수들 (TO_NUMBER, TO_CHAR, TO_DATE) 중에서 내가 가장 많이 사용하는 형변환 함수는 TO_CHAR와 TO_DATE가 아닌가 싶다.

 

SELECT *

FROM A

WHERE TO_CHAR(A.b, 'YYYY-MM-DD') 

→ 2024-03-17

 

형식으로 가장 많이 활용했던 것 같은데, 이 함수를 내가 이렇게 썼던 것에 대한 형변환 함수 정의를 제대로 알고 다른 형식으로도 변환하거나 다른 항목도 변환하면 좋을 것 같아 책에서 본 내용을 정리해 두고자 한다.

 

 

p.90

 

6.2.4 형변환 함수

형변환 함수란 특정 데이터형을 다른 데이터형으로 변환할 때 사용하는 함수입니다.

문자를 숫자로 변경하거나 숫자를 문자로, 또는 문자를 날짜로 혹은 그 반대로 변환 시 사용하는 함수입니다.

 

 

표6-6. 형변환 함수

1. TO_NUMBER (char): Char를 숫자로 변환

ex) SELECT TO_NUMBER('12345')

FROM DUAL;

→ 12345

 

2. TO_CHAR (n,number_format): 숫자인 n을 number_format에 맞게 문자로 변환, number_format은 생략 가능

ex)  SELECT TO_CHAR(12345, '99,999')

FROM DUAL;

→ 12,345

 

3. TO_CHAR (char, date_format): 날짜인 date를 date_format 에 맞게 문자로 변환, date_format은 생략 가능

ex)  SELECT TO_DATE(SYSDATE,'YYYY-MM-DD HH24:MI:SS')

FROM DUAL;

→ '2019-04-08 23:52:01'

 

4. TO_DATE (Char, date_format) : 문자 char 을 date_format 에 맞게 날짜로 변환, date_format은 생략 가능

ex)  SELECT TO_DATE('2019-04-08 23:52:01', 'YYYY-MM-DD HH24:MI:SS')

FROM DUAL;

→ '2019-04-08 23:52:01'

 

 

표6-7. 숫자 변환 형식

1. ,(콤마) : 콤마 표시

ex) TO_CHAR(123456,'999,999')

→ 123,456

 

2. .(소수점) : 소수점 표시

ex) TO_CHAR(123456.4, '999,999.9')

→ 123,456.4

 

3. 9 : 한 자리 숫자를 나타내는데, 실제 숫자의 자리 수와 같거나 크게 명시해야 함

ex) TO_CHAR(123456, '999,999')

→ 123,456

 

 

표6-8. 날짜 변환 형식

1. YYYY or YYY or YY or Y: 연도 표시

ex) TO_CHAR(SYSDATE,'YYYY')

→ 2019

 

2. MONTH or MON: 월 표시

ex) TO_CHAR(SYSDATE,'MONTH')

→ 4월

 

3. MM: 월을 01,02,...,12 형태로 표현

ex) TO_CHAR(SYSDATE,'MM')

→ 04

 

4. D: 주중 일자를 1~7까지 숫자로 표현

ex) TO_CHAR(SYSDATE,'D')

→ 2

 

5. DAY: 주중 일자를 요일로 표현

ex) TO_CHAR(SYSDATE,'DAY')

→ 월요일

 

6. DD: 일을 01,02,...,31 형태로 표현

ex) TO_CHAR(SYSDATE,'DD')

→ 08

 

7. DDD: 일을 001,002,...,365형태로 표현

ex) TO_CHAR(SYSDATE,'DDD')

→ 098

 

8. DL: 일을 요일까지 표현

ex) TO_CHAR(SYSDATE,'DL')

→ 2019년 4월 8일 월요일

 

9. HH or HH12: 시간을 01,02,...12 형태로 표현

ex) TO_CHAR(SYSDATE,'HH')

→ 04

 

10. HH24: 시간을 01,02,...24 형태로 표현

ex) TO_CHAR(SYSDATE,'HH24')

→ 16

 

11. MI: 분을 01,02,...,59 형태로 표현

ex) TO_CHAR(SYSDATE,'MI')

→ 53

 

12. SS: 초를 01,02,...,59 형태로 표현

ex) TO_CHAR(SYSDATE,'SS')

→ 05

 

13. WW: 주를 01,02,...,59 형태로 표현

ex) TO_CHAR(SYSDATE,'WW')

→ 14

 

쿼리6-5 TO_CHAR함수 사용 예

SELECT TO_CHAR(SYSDATE,'YYYY-MM-DD HH24:MI:SS')

FROM DUAL;

→ 2019-02-26 11:39:46

 

출처: 픽사베이

반응형