오라클(Oracle)에서 날짜 및 AMPM을 구할 때 TO_CHAR 함수를 사용하면 되는데, 이번 글에서는 TO_CHAR 함수를 사용하여 날짜와 AM/PM에 대한 값을 가져오는 방법에 대해 작성한다.
목차
1. TO_CHAR 함수를 사용하여 날짜 가져오기
2. AMPM 구하는 방법
1. TO_CHAR 함수를 사용하여 날짜 가져오기
TO_CHAR 함수를 사용하여 날짜를 가져오는 방법은 기본적으로 아래와 같이 TO_CHAR 함수를 사용하여 날짜 데이터를 가져온다.
SELECT TO_CHAR(SYSDATE)
FROM DUAL;
여기서, TO_CHAR 함수로 날짜 데이터를 가져와서 원하는 형식에 맞게 가져오려면 아래와 같이 형식을 지정하여 가져 온다.
SELECT TO_CHAR(SYSDATE, 'YYYYMMDD')
FROM DUAL;
추가적으로, 우리는 'YYYYMMDDHH24MISS'나 'YYYYMMDDHHMMSS'를 사용한다. 가장 큰 차이점은 시간을 24시간으로 사용하냐에 대한 차이다.
SELECT TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS')
, TO_CHAR(SYSDATE, 'YYYYMMDDHHMMSS')
FROM DUAL;
요일을 알고 싶으면, 아래와 같이 MON이라는 것을 사용하면 되는데, MON을 사용할 때, 대문자면 결과도 대문자로 나오고, 소문자면 결과도 소문자로 나온다. 물론, 이 경우에는 영어로 출력했을 때 적용이 된다.
SELECT TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS MON')
FROM DUAL;
SELECT TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS MON', 'NLS_DATE_LANGUAGE=ENGLISH')
FROM DUAL;
SELECT TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS Mon', 'NLS_DATE_LANGUAGE=ENGLISH')
FROM DUAL;
위와 같이, MON일 경우에는 JUL이 나오고, Mon을 사용할 경우에는 Jul이 나온다.
2. AMPM 구하는 방법
AMPM 구하는 방법은 정말 다양한데, 간단하게 2개만 소개한다.
1) TO_CHAR함수를 사용하여 MONTH를 추출하여 구하는 방법
TO_CHAR 함수를 사용해서, 24시간 기준으로 시간을 추출 한 후에, CASE WHEN THEN 문을 사용하여 시간이 12보다 작으면 AM, 12보다 크면 PM으로 출력하면 된다.
SELECT CASE WHEN TO_CHAR(SYSDATE, 'HH24') < 12 THEN 'AM' ELSE 'PM' END
FROM DUAL;
2) TO_CHAR함수를 사용하여 AMPM을 구하는 방법
TO_CHAR 함수를 사용하여 2번 째 파라미터에 AM이든, PM이든 넣으면 시간에 따라 구분되어 나온다.
SELECT TO_CHAR(SYSDATE, 'YYYYMMDD')
, TO_CHAR(SYSDATE, 'AM')
, TO_CHAR(SYSDATE, 'PM')
FROM DUAL;
SELECT TO_CHAR(SYSDATE, 'YYYYMMDD')
, TO_CHAR(SYSDATE, 'AM', 'NLS_DATE_LANGUAGE=ENGLISH')
, TO_CHAR(SYSDATE, 'PM')
FROM DUAL;
위와 같이, 3번 째 파라미터에 NLS_DATE_LANGUAGE=ENGLISH로 넣으면 영어로 변환이 되어 AM/PM이 출력 된다.
'IT > Oracle' 카테고리의 다른 글
[Oracle] 오라클(Oracle) TO_NUMBER 999999D99 사용시 주의해야 할 점 (0) | 2023.08.13 |
---|---|
[Oracle] 오라클(Oracle) 문자열 SPLIT하는 방법 (0) | 2023.07.21 |
[Oracle] 오라클(Oracle) ORA-01843 지정한 월이 부적합합니다 문제 해결 방법 (0) | 2023.07.11 |
[Oracle] 오라클(Oracle) 데이터 롤백하는 방법 (0) | 2023.07.05 |
[Oracle] 오라클(Oracle) fetch 문의 into 항목에 값의 수가 잘못됐습니다. 해결 방법 (0) | 2023.06.30 |
[Oracle] 오라클(Oracle) NUMBER 타입 소수점에 대한 글 (0) | 2023.06.11 |
[Oracle] 오라클(Oracle) 다중컬럼 IN 사용하는 방법 (0) | 2023.06.08 |
[Oracle] 오라클(Oracle) NOT NULL과 DEFAULT의 관계 (0) | 2023.06.03 |
최근댓글