DATE_TRUNC 스칼라 함수
DATE_TRUNC 함수는 날짜, 시간 또는 시간소인 값을 지정된 시간 단위로 자릅니다.
스키마는 SYSIBM입니다.
- format-string
255바이트를 초과하지 않고 모든 앞뒤 공백이 제거된 후 표 1에 나열된 문자열 중 하나인 문자열을 리턴하는 표현식입니다. 결과 서브스트링은 지정된 날짜 및 시간 표현식 유형의 유효한 형식 요소여야 합니다(SQLSTATE 22007). 예를 들어 DATE 값은 첫 시간, 분 또는 초로 잘리지 않으며 TIME 값은 년의 첫 날로 잘리지 않습니다.
- datetime 표현식
- DATE, TIME 또는 TIMESTAMP값을 리턴하는 표현식입니다. 이러한 데이터 유형의 문자열 표현은 DATE, TIME 또는 TIMESTAMP 값에 명시적으로 캐스트되어야 합니다.
| 형식 문자열이 다음과 같은 경우 ... | 날짜 및 시간 표현식이 다음으로 잘립니다. | 예: | 다음으로 잘림... |
|---|---|---|---|
| 'MILLENNIUM' 또는 'MILLENNIUMS' | 밀레니엄의 첫 날 | 1999-02-14 |
1000-01-01 |
| 'CENTURY' 또는 'CENTURIES' | 세기의 첫 날 | 1999-02-14 |
1900-01-01 |
| 'DECADE' 또는 'DECADES' | 10년의 첫 날 | 1999-02-14 |
1990-01-01 |
| 'YEAR' 또는 'YEARS' | 년의 첫 날. | 1999-02-14 |
1999-01-01 |
| 'QUARTER' | 사분기의 첫 날. | 2017-05-14 20:38:40.24 |
2017-04-01 00:00:00 |
| 'MONTH' 또는 'MONTHS' | 월의 첫 날. | 2017-05-14 20:38:40.24 |
2017-05-01 00:00:00 |
| 'WEEK' | 주의 첫 날. | 2017-05-14 20:38:40.24 |
2017-05-08 00:00:00 |
| 'DAY' 또는 'DAYS' | 일의 시작. | 2017-05-14 20:38:40.24 |
2017-05-14 00:00:00 |
| 'HOUR' 또는 'HOURS' | 시간의 시작. | 2017-05-14 20:38:40.24 |
2017-05-14 20:00:00 |
| 'MINUTE' 또는 'MINUTES' | 분의 시작. | 20:38:40.24576985 |
20:38:00 |
| 'SECOND' 또는 'SECONDS' | 초의 시작. | 20:38:40.24576985 |
20:38:40 |
| 'MILLISECOND' 또는 'MILLISECONDS' | 밀리초의 시작. | 20:38:40.24576985 |
20:38:40.245 |
| 'MICROSECOND' 또는 'MICROSECOND' | 마이크로초의 시작. | 20:38:40.24576985 |
20:38:40.245769 |
결과
지정된 날짜 및 시간 표현식에 따라 결과는 다음과 같습니다.
- DATE 또는 TIMESTAMP 값인 경우 결과는 TIMESTAMP 값임
- TIME 값인 경우 결과는 TIME 값임
예:
- 예 1: DATE 값을 월의 시작으로 자릅니다.
values date_trunc('MONTH', DATE('2007-02-18')) Result: 2007-02-01 00:00:00 - 예 2: TIMESTAMP 값을 시의 시작으로 자릅니다.
values date_trunc('HOUR', TIMESTAMP('2017-02-14 20:38:40.24')); Result: 2017-02-14 20:00:00 - 예 3: TIME 값을 분의 시작으로 자릅니다.
values date_trunc('MINUTE', TIME('20:38:40')); Result: 20:38:00
