Oracle的TRUNC函數用于將日期或數值表達式截斷為指定的精度。具體而言,它可以用來截斷日期表達式為指定的日期部分(例如年、月、日)或數值表達式為指定的小數位數。
下面是TRUNC函數的一些常見用法:
-
截斷日期表達式為指定的日期部分:
- TRUNC(date, ‘YYYY’):截斷為年份部分。
- TRUNC(date, ‘MM’):截斷為月份部分。
- TRUNC(date, ‘DD’):截斷為天數部分。
-
截斷數值表達式為指定的小數位數:
- TRUNC(number, n):截斷為n位小數,其中n為非負整數。
需要注意的是,TRUNC函數對于日期表達式的截斷會將不屬于指定部分的部分置為0。而對于數值表達式的截斷會截取整數部分,并將小數部分舍去。
以下是一些示例:
- TRUNC(TO_DATE(‘2022-10-15’, ‘YYYY-MM-DD’), ‘YYYY’):將日期2022-10-15截斷為年份部分,結果為2022-01-01。
- TRUNC(TO_DATE(‘2022-10-15’, ‘YYYY-MM-DD’), ‘MM’):將日期2022-10-15截斷為月份部分,結果為2022-10-01。
- TRUNC(TO_DATE(‘2022-10-15’, ‘YYYY-MM-DD’), ‘DD’):將日期2022-10-15截斷為天數部分,結果為2022-10-15。
- TRUNC(3.14159, 2):將數值3.14159截斷為2位小數,結果為3.14。
總而言之,TRUNC函數可以用來截斷日期或數值表達式,以滿足特定的精度要求。