본문 바로가기

[오라클 레퍼런스 함수] TRUNC (date) - 날짜의 특정 부분을 절단

by ㅇㅍㅍ 2023. 9. 3.
[오라클 레퍼런스 함수] TRUNC (date) - 날짜의 특정 부분을 절단
728x90

 

TRUNC (date)

 

구문

TRUNC(date [, fmt ])

 

목적

TRUNC(date) 함수는 날짜의 시간 부분을 format model fmt에 의해 지정된 단위로 절단한 date를 반환합니다. 이 함수는 NLS_CALENDAR 세션 파라미터에 민감하지 않습니다. 그레고리력의 규칙에 따라 작동합니다. 반환된 값은 항상 DATE 데이터 유형이며, date에 대해 다른 datetime 데이터 유형을 지정해도 됩니다. fmt를 생략하면 기본 format model 'DD'가 사용되고 반환된 값은 자정의 시간으로 date를 절단한 것입니다. fmt에서 사용할 수 있는 허용된 format model에 대한 정보는 "ROUND and TRUNC Date Functions"를 참조하십시오.

 

예제

다음 예제는 날짜를 절단합니다:

SELECT TRUNC(TO_DATE('27-OCT-92','DD-MON-YY'), 'YEAR')
  "New Year" FROM DUAL;
 
New Year
---------
01-JAN-92

 

TRUNC를 사용하여 날짜 형식 지정: 예시

다음 예제에서 TRUNC 함수는 포맷 모델에서 지정한 대로 날짜의 시간 부분을 절단한 입력 날짜를 반환합니다:

WITH dates AS (   
  SELECT date'2015-01-01' d FROM dual union   
  SELECT date'2015-01-10' d FROM dual union   
  SELECT date'2015-02-01' d FROM dual union   
  SELECT timestamp'2015-03-03 23:45:00' d FROM dual union   
  SELECT timestamp'2015-04-11 12:34:56' d FROM dual    
)   
SELECT d "Original Date",   
       trunc(d) "Nearest Day, Time Removed",   
       trunc(d, 'ww') "Nearest Week", 
       trunc(d, 'iw') "Start of Week",   
       trunc(d, 'mm') "Start of Month",   
       trunc(d, 'year') "Start of Year"   
FROM dates;

 

다음 예제에서 입력 날짜 값은 절단되고 TO_CHAR 함수를 사용하여 절단된 날짜 값의 분(complete) 구성요소를 얻습니다:

WITH dates AS (   
  SELECT date'2015-01-01' d FROM dual union   
  SELECT date'2015-01-10' d FROM dual union   
  SELECT date'2015-02-01' d FROM dual union   
  SELECT timestamp'2015-03-03 23:45:00' d FROM dual union   
  SELECT timestamp'2015-04-11 12:34:56' d FROM dual    
)   
SELECT d "Original Date",   
       trunc(d) "Date with Time Removed",   
       to_char(trunc(d, 'mi'), 'dd-mon-yyyy hh24:mi') "Nearest Minute",   
       trunc(d, 'iw') "Start of Week",   
       trunc(d, 'mm') "Start of Month",   
       trunc(d, 'year') "Start of Year"  
FROM dates;

 

다음 문은 현재 세션의 날짜 형식을 변경합니다:

ALTER SESSION SET nls_date_format = 'dd-mon-yyyy hh24:mi';

 

다음 예제에서 데이터는 새로운 날짜 형식으로 표시됩니다:

WITH dates AS (   
  SELECT date'2015-01-01' d FROM dual union   
  SELECT date'2015-01-10' d FROM dual union   
  SELECT date'2015-02-01' d FROM dual union   
  SELECT timestamp'2015-03-03 23:44:32' d FROM dual union   
  SELECT timestamp'2015-04-11 12:34:56' d FROM dual    
)   
SELECT d "Original Date",   
       trunc(d) "Date, time removed",   
       to_char(trunc(d, 'mi'), 'dd-mon-yyyy hh24:mi') "Nearest Minute",   
       trunc(d, 'iw') "Start of Week",   
       trunc(d, 'mm') "Start of Month",   
       trunc(d, 'year') "Start of Year"   
FROM dates;

 

Live SQL: Oracle Live SQL에서 관련 예제를 보고 실행하세요. Formatting Dates Using TRUNC에 대한 내용을 확인하세요.

 


출처: 오라클 레퍼런스

원문 링크: Oracle TRUNC (date) 함수 문서

 

반응형

댓글