TRUNC Function
TRUNC(n1 [, n2 ])
숫자 또는 날짜 값을 자르는 함수입니다.
TRUNC 함수는 숫자 또는 날짜 두 가지 데이터 타입에 대해 동작을 하며, 데이터 타입에 따라 다르게 동작을 합니다.
숫자형
TRUNC( number [, decimal] )
소수점 위치(decimal)의 값을 잘라 버린 숫자(number)의 값을 반환합니다.
매개변수
number
- 잘릴 숫자 값입니다.
decimal
- 생략되면 number는 0 자리로 잘립니다.(=정수가 반환됩니다.)
- 자를 소수점 이하 자릿수입니다.
- 양수이면 오른쪽 자릿수가 잘리고 음수이면 왼쪽 자릿수가 잘립니다.
Example Data
WITH TEMP AS (
SELECT 1234.5678 AS COL
FROM DUAL
)
SELECT COL
, TRUNC(COL) -- 정수 반환 TRUNC(COL, 0)과 동일함
, TRUNC(COL, 1) -- 1번째 위치의 소수점 절사
, TRUNC(COL, 2) -- 2번째 위치의 소수점 절사
, TRUNC(COL,-1) -- 1단위 절사
, TRUNC(COL,-2) -- 10단위 절사
, TRUNC(COL, 5) -- 자릿수 범위 초과
, TRUNC(COL,-5) -- 자릿수 범위 초과
FROM TEMP;
날짜형
TRUNC( date [, format] )
특정 측정 단위(format)로 잘린 날짜를 반환합니다.
매개변수
date
- 잘릴 날짜 값입니다.
format
- 자르기 위해 적용 할 Format 형식입니다.
- 지정되지 않은 경우 가장 가까운 날짜로 자릅니다.
단위 | Format 형식 |
Year | SYYYY, YYYY, YEAR, SYEAR, YYY, YY, Y |
ISO Year | IYYY, IY, I |
Quarter | Q |
Month | MONTH, MON, MM, RM |
Week | WW |
Week Number | IW |
Week | W |
Day | DDD, DD, J |
Start day of the week | DAY, DY, D |
Hour | HH, HH12, HH24 |
Minute | MI |
[날짜 TRUNC에 사용 가능한 Format]
Example Data
EX 1) 현재 월의 첫날 가져오기
- 현재 2021년 5월 15일이므로 5월의 첫 날인 2021-05-01이 반환됩니다.
SELECT TO_CHAR(SYSDATE,'YYYY-MM-DD HH24:MI:SS') AS NOW_DATE
, TO_CHAR(TRUNC( SYSDATE, 'MM' ), 'YYYY-MM-DD HH24:MI:SS') AS MM_COL
FROM DUAL;
EX 2) 현재 날짜의 분기에 해당되는 첫 날짜 가져오기
- 5월은 2분기이며, 2분기의 첫 날짜는 4월 1일 입니다.
SELECT TO_CHAR(SYSDATE,'YYYY-MM-DD HH24:MI:SS') AS NOW_DATE
, TO_CHAR(TRUNC( SYSDATE, 'Q' ), 'YYYY-MM-DD HH24:MI:SS') AS Q_COL
FROM DUAL;
반응형
'DataBase > Oracle' 카테고리의 다른 글
[ORACLE]공백 및 특정 문자를 제거하는 TRIM, LTRIM, RTRIM 함수 (0) | 2021.05.17 |
---|---|
[ORACLE]반올림하는 ROUND 함수 (0) | 2021.05.16 |
[ORACLE]지정한 범위에서의 위치를 구하는 WIDTH_BUCKET함수 (0) | 2021.05.09 |
[ORACLE]올림 처리하는 CEIL 함수 (0) | 2021.05.09 |
[ORACLE]문자열 합치기 (CONCAT, ||) (0) | 2021.05.08 |
댓글