포스팅 목차
o TRUNC (date)
문 법
trunc_date::=
목 적
TRUNC(date) 함수는 날짜의 시간 부분을 형식 모델 fmt에서 지정한 단위를 기준으로 절삭(버림)한 후 변경된 날짜를 반환한다.
이 함수는 NLS_CALENDAR 세션 매개변수의 영향을 받지 않는다. 그레고리력 규칙에 따라 작동한다. date 인수에 다른 datetime 데이터 유형을 지정한 경우에도 반환되는 값은 항상 DATE 데이터 유형이다. fmt 인수를 생략하면 기본 서식 모델 'DD'가 사용되고, 오전 0시(자정)를 기준으로 절삭(잘린)된 date 값을 반환한다. fmt 인수에서 사용할 수 있는 서식 모델은 'ROUND 및 TRUNC 날짜 함수'를 참조하라.
패키지 함수 비교 (Oracle, Pandas, R Prog, Dplyr, Sqldf, Pandasql, Data.Table)
관련 함수
함수명 | 함수내용 |
ADD_MONTHS | 일자 date에 특정 개월 수에 해당하는 integer를 더한 값을 반환한다. |
FLOOR | 지정한 숫자보다 작거나 같은 정수 중에서 최댓값을 반환한다. (내림 함수) |
CEIL | 인수에서 지정한 수치를 올림 하여 정수를 구하는 함수이다. (절삭 함수) |
LAST_DAY | 해당 날짜가 속한 달의 마지막 날짜를 반환한다. 월마다 마지막 날짜가 다르므로 유용하게 사용될 수 있다. |
MOD | n2을 n1으로 나눈 나머지 값(Remainder)을 반환한다. |
MONTHS_BETWEEN | 날짜와 날짜 사이의 개월 수를 출력하는 함수이고, ADD_MONTHS 함수는 기준 날짜에서 특정 개월 수를 더한 날짜를 출력하는 함수이다. |
NEXT_DAY | 해당일을 기준으로 명시된 요일의 가장 가까운 다음 요일에 해당하는 날짜를 반환한다. |
ROUND (date) | date 값을 포맷 모델 fmt에 지정한 단위로 반올림한 날짜를 반환한다. |
TRUNC (date) | 날짜 부분(date)에서 포맷 모델 fmt에서 지정한 단위를 기준으로 날짜를 절삭(버림)하여 변경된 날짜를 반환한다. |
TRUNC(number) | 수치 값 n1을 소수점 자리 중(소수점을 기준으로 양수 방향의 정수부 또는 음수 방향의 소수부)에서 파라미터 n2의 자리 이하를 절삭(버림, Truncation)한다. |
예 제
다음 예제는 년도를 기준으로 해당 날자를 절삭한다. (년의 초일자)
Oracle Program |
SELECT TRUNC(TO_DATE('27-OCT-92','DD-MON-YY'), 'YEAR') "New Year"
FROM DUAL;
Results |
New Year
---------
01-JAN-92
TRUNC 함수를 사용한 날짜 서식 지정: 예시
다음 예제에서 TRUNC 함수는 서식 모델에서 지정한 대로 따라 날짜의 시간 부분을 절삭한 입력 날짜를 반환한다.
Oracle Program |
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;
Results |
Original Date Nearest Day, Time Removed Nearest Week Start of Week Start of Month Start of Year
01-JAN-15 12.00.00.000000 AM 01-JAN-15 01-JAN-15 29-DEC-14 01-JAN-15 01-JAN-15
10-JAN-15 12.00.00.000000 AM 10-JAN-15 08-JAN-15 05-JAN-15 01-JAN-15 01-JAN-15
01-FEB-15 12.00.00.000000 AM 01-FEB-15 29-JAN-15 26-JAN-15 01-FEB-15 01-JAN-15
03-MAR-15 11.45.00.000000 PM 03-MAR-15 26-FEB-15 02-MAR-15 01-MAR-15 01-JAN-15
11-APR-15 12.34.56.000000 PM 11-APR-15 09-APR-15 06-APR-15 01-APR-15 01-JAN-15
--------------------------------------------
오라클 SQL 함수(Oracle SQL Function) 목록 리스트 링크 |
[SQL, Pandas, R Prog, Dplyr, SQLDF, PANDASQL, DATA.TABLE] SQL EMP 예제로 만나는 테이블 데이터 처리 방법 리스트 링크 |
2023.12 수정
반응형
'오라클 게시판 > 오라클 함수' 카테고리의 다른 글
【오라클 SQL 함수】 UID 함수 (0) | 2021.10.24 |
---|---|
【오라클(Oracle) SQL 함수】 TZ_OFFSET 함수 (0) | 2021.10.24 |
【오라클(Oracle) SQL 함수】 TRUNC (number) 함수 (0) | 2021.10.23 |
【오라클(Oracle) SQL 함수】 TRIM 함수 (0) | 2021.10.23 |
[오라클 SQL 함수] TREAT 함수 (0) | 2021.10.23 |
댓글