[Oracle] 날짜 오전 오후 구분 방법 (AM, PM)
- 데이터베이스/오라클
- 2021. 12. 7.
오라클에서 날짜의 시간을 오전, 오후로 구분하기 위해서는 TO_CHAR 함수를 사용하면 된다.
TO_CHAR('날짜', 'AM')을 사용하면 AM, PM으로 변환되어 값이 반환 된다.
오라클의 NLS_DATE_LANGUAGE의 언어 설정에 따라서 영문(AM, PM) 또는 한글(오전, 오후)로 반환될 수 있으니 이점을 유의해야 한다.
SELECT TO_CHAR(SYSDATE, 'AM')
FROM dual
TO_CHAR('날짜', 'AM')를 사용하여 오전(AM), 오후(PM)를 구분할 수 있다.
SELECT TO_CHAR(SYSDATE, 'AM')
, TO_CHAR(SYSDATE, 'PM')
FROM dual
TO_CHAR(SYSDATE, 'AM'), TO_CHAR(SYSDATE, 'PM') 어느 것을 사용하든 동일한 결과가 반환된다.
오라클의 NLS_DATE_LANGUAGE 설정에 따라서 한글(오전, 오후)로 반환될 수 있다.
원하는 형식의 값으로 표시하기 위해서는 오라클 설정 자체를 바꿔야 한다.
SELECT TO_CHAR(SYSDATE, 'AM', 'nls_date_language=american') AS AMERICAN
, TO_CHAR(SYSDATE, 'AM', 'nls_date_language=korean') AS KOREAN
FROM dual
TO_CHAR 함수의 3번째 인자에 NLS_DATE_LANGUAGE 값을 지정해 주면 오라클 설정에 상관없이 고정된 형식의 값이 반환된다.
nls_date_language=american : AM, PM
nls_date_language=korean : 오전, 오후