오라클 다양한 날짜/시간 포맷 변경 (TO_CHAR) 사용법 & 예제
1. TO_CHAR 함수란?
TO_CHAR 함수는 오라클 데이터베이스에서 날짜 및 시간 값을 원하는 포맷으로 변환하는 데 사용되는 함수입니다. 이 함수를 사용하면 날짜와 시간 값을 다양한 형식으로 표현할 수 있습니다.
TO_CHAR 함수는 다음과 같은 구조를 가지고 있습니다:
TO_CHAR(date, format, [nlsparam])
- date: 변경하고자 하는 날짜/시간 값입니다.
- format: 날짜/시간 값을 원하는 형식으로 지정합니다.
- nlsparam (optional): 날짜/시간 값을 변경하는 데 사용할 NLS 설정을 지정합니다.
2. 날짜 포맷 사용 예제
2.1. 기본 포맷으로 변경하기
SELECT TO_CHAR(SYSDATE, 'DD-MON-YYYY HH24:MI:SS') AS current_datetime
FROM dual;
-- 결과: 15-DEC-2022 15:30:45
위의 예제에서는 SYSDATE 함수를 사용하여 현재 시스템 날짜와 시간을 가져와 TO_CHAR 함수를 이용하여 'DD-MON-YYYY HH24:MI:SS' 포맷으로 변환하였습니다.
2.2. 날짜/시간 요소별로 표시하기
SELECT TO_CHAR(SYSDATE, 'YYYY') AS year,
TO_CHAR(SYSDATE, 'MM') AS month,
TO_CHAR(SYSDATE, 'DD') AS day,
TO_CHAR(SYSDATE, 'HH24') AS hour,
TO_CHAR(SYSDATE, 'MI') AS minute,
TO_CHAR(SYSDATE, 'SS') AS second
FROM dual;
-- 결과: 2022, 12, 15, 15, 30, 45
위의 예제에서는 SYSDATE 함수를 사용하여 현재 시스템 날짜와 시간을 가져와 TO_CHAR 함수를 이용하여 각각의 요소별로 변환하였습니다.
2.3. 요일 포맷으로 변경하기
SELECT TO_CHAR(SYSDATE, 'DAY') AS day_of_week
FROM dual;
-- 결과: THURSDAY
위의 예제에서는 SYSDATE 함수를 사용하여 현재 시스템 날짜와 시간을 가져와 TO_CHAR 함수를 이용하여 'DAY' 포맷으로 요일로 변환하였습니다.
2.4. 주차 포맷으로 변경하기
SELECT TO_CHAR(SYSDATE, 'WW') AS week_number
FROM dual;
-- 결과: 50
위의 예제에서는 SYSDATE 함수를 사용하여 현재 시스템 날짜와 시간을 가져와 TO_CHAR 함수를 이용하여 'WW' 포맷으로 주차로 변환하였습니다.
3. 시간 포맷 사용 예제
3.1. 12시간 단위 표시하기
SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH:MI:SS AM') AS current_datetime
FROM dual;
-- 결과: 2022-12-15 07:30:45 PM
위의 예제에서는 SYSDATE 함수를 사용하여 현재 시스템 날짜와 시간을 가져와 TO_CHAR 함수를 이용하여 'YYYY-MM-DD HH:MI:SS AM' 포맷으로 변환하였습니다. AM/PM을 추가하여 12시간 단위로 표시하였습니다.
3.2. 시간대 표시하기
SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH:MI:SS TZH:TZM') AS current_datetime
FROM dual;
-- 결과: 2022-12-15 15:30:45 +09:00
위의 예제에서는 SYSDATE 함수를 사용하여 현재 시스템 날짜와 시간을 가져와 TO_CHAR 함수를 이용하여 'YYYY-MM-DD HH:MI:SS TZH:TZM' 포맷으로 변환하였습니다. 시간대 정보를 포함하여 표시하였습니다.
4. 전체 내용 정리
오라클의 TO_CHAR 함수를 사용하면 다양한 날짜와 시간 값을 원하는 포맷으로 변경할 수 있습니다. 위의 예제를 통해 기본 포맷, 요소별 표시, 요일 포맷, 주차 포맷 등을 예제로 살펴보았습니다. 추가로 12시간 단위 표시와 시간대 표시에 대한 예제도 제공되었습니다.
TO_CHAR 함수는 날짜와 시간 값을 원하는 형식으로 변경하여 다양한 용도로 활용할 수 있습니다. 필요에 따라 포맷을 잘 활용하여 원하는 날짜와 시간 형식으로 표현하도록 노력해보세요.
댓글