[Oracle] TRUNC 함수 사용법 (시간, 소수점 절사)
- 데이터베이스/오라클
- 2018. 12. 13.
오라클에서 소수점을 절사(버림)하거나 날짜의 시간을 절사 하기 위해서는 TRUNC 함수를 사용한다. 소수점, 시간 등 단순한 절사 방법 외에 TRUNC 함수의 옵셥을 사용하여 다양한 절사 방법이 있으니 아래를 참고하면 된다.
목차 |
기본 사용법
기본 사용법
WITH temp AS (
SELECT TO_DATE('2018-12-13 22:10:59', 'YYYY-MM-DD HH24:MI:SS') dt, 1234.56 nmb
FROM dual
)
SELECT dt
, TRUNC(dt) --시간 절사
, nmb
, TRUNC(nmb) --소수점 절사
FROM temp
사용법 : TRUNC("값", "옵션")
TRUNC 함수는 주로 소수점 절사 및 날짜의 시간을 없앨 때 사용한다.
시간 절사 방법
WITH temp AS (
SELECT TO_DATE('2018-12-13 22:10:59', 'YYYY-MM-DD HH24:MI:SS') dt, 1234.56 nmb
FROM dual
)
SELECT dt
, TRUNC(dt, 'DD') --시간 절사
, TRUNC(dt, 'HH24') --분, 초 절사
, TRUNC(dt, 'MI') --초 절사
FROM temp
TRUNC(DT, 'DD')와 TRUNC(DT)는 동일한 결과를 출력한다.
일자/요일 절사 방법
WITH temp AS (
SELECT TO_DATE('2018-12-13 22:10:59', 'YYYY-MM-DD HH24:MI:SS') dt , 1234.56 nmb
FROM dual
)
SELECT dt
, TRUNC(dt, 'YEAR') --월, 일 초기화
, TRUNC(dt, 'MONTH') --일 초기화
, TRUNC(dt, 'DAY') --요일 초기화 (일요일)
FROM temp
TRUNC(DT, 'DAY') 해당 주의 일요일의 일자로 초기화한다.
TRUNC(DT, 'YEAR') = TRUNC(DT, 'YYYY') 동일한 결과
TRUNC(DT, 'MONTH') = TRUNC(DT, 'MM') 동일한 결과
숫자/소수점 절사 방법
WITH temp AS (
SELECT TO_DATE('2018-12-13 22:10:59', 'YYYY-MM-DD HH24:MI:SS') dt , 1234.56 nmb
FROM dual
)
SELECT nmb
, TRUNC(nmb, 1) --소수점 첫째 절사
, TRUNC(nmb, 2) --소수점 둘째 절사
, TRUNC(nmb,-1) --1단위 절사
, TRUNC(nmb,-2) --10단위 절사
FROM temp
TRUNC(NMB, 1)는 소수점을 반올림하지 않고 절사 한다.
TRUNC(NMB,-1)는 주로 금액 계산 시 1원 단위를 절사 할 때 사용 한다.
사용 예제
▲ 소수점 및 정수 절사
▲ 월, 일 초기화