반응형

Oracle 로고

오라클(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이 출력 된다.

 


 

 

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기