형식 : TRUNC( "값", "옵션" )
기본적인 결과는 날짜의 경우 시간이하 0으로, 숫자의 경우 소숫점이하를 잘라버린다.
WITH TEMP AS (
SELECT
SYSDATE AS DT
, 1234.56 AS NUM
FROM DUAL
)
SELECT
TO_CHAR(DT, 'YYYY/MM/DD HH24:MI:SS') AS DT1
, TO_CHAR(TRUNC(DT), 'YYYY/MM/DD HH24:MI:SS') AS DT2
, NUM AS NO1
, TRUNC(NUM) AS NO2
FROM TEMP;
달, 월, 일, 시간, 분, 초 이하를 구분해 0으로 셋팅가능
옵션에 설정한 값 미만을 초기화 한다.
WITH TEMP AS (
SELECT TO_DATE('2019/11/23 13:34:44', 'YYYY/MM/DD HH24:MI:SS') AS DT FROM DUAL
)
SELECT
TO_CHAR(DT, 'YYYY/MM/DD HH24:MI:SS') AS 원본
, TO_CHAR(TRUNC(DT, 'YEAR'), 'YYYY/MM/DD HH24:MI:SS') AS YEAR
, TO_CHAR(TRUNC(DT, 'MONTH'), 'YYYY/MM/DD HH24:MI:SS') AS MONTH
, TO_CHAR(TRUNC(DT, 'DAY'), 'YYYY/MM/DD HH24:MI:SS') AS DAY
, TO_CHAR(TRUNC(DT, 'DD'), 'YYYY/MM/DD HH24:MI:SS') AS DD
, TO_CHAR(TRUNC(DT, 'HH24'), 'YYYY/MM/DD HH24:MI:SS') AS HH24
, TO_CHAR(TRUNC(DT, 'MI'), 'YYYY/MM/DD HH24:MI:SS') AS MI
FROM TEMP;
WITH TEMP AS (
SELECT 1234.56 NUM FROM DUAL
)
SELECT
NUM
, TRUNC(NUM, -3) AS M3
, TRUNC(NUM, -2) AS M2
, TRUNC(NUM, -1) AS M1
, TRUNC(NUM, 0) AS ZER
, TRUNC(NUM, 1) AS P1
, TRUNC(NUM, 2) AS P2
FROM TEMP;