Oracle 中的 TRUNC() 函数用于将数字向下取整到指定的小数位数或日期部分。它广泛用于数据清理、数学运算和日期处理。

Oracle 中向下取整:TRUNC() 函数Oracle 中向下取整:TRUNC() 函数


语法:

``` TRUNC(number, [format]) ```

其中:

number:要取整的数字 format:可选参数,指定取整的单位(如秒、分、时、日等)

用法:

向下取整到整数

``` SELECT TRUNC(123.45) FROM dual; ```

输出:123

向下取整到小数点后两位

``` SELECT TRUNC(123.456, 2) FROM dual; ```

输出:123.45

向下取整到天的日期

``` SELECT TRUNC(SYSDATE, 'DD') FROM dual; ```

输出:2023-03-08 00:00:00

向下取整到小时的日期

``` SELECT TRUNC(SYSDATE, 'HH') FROM dual; ```

输出:2023-03-08 06:00:00

注意:

如果 format 参数省略,则数字向下取整到整数。 如果 format 参数不是有效的日期或时间单位,则会引发错误。 TRUNC() 函数不影响原始数字,它只返回一个新的取整值。

应用:

TRUNC() 函数在 Oracle 中具有广泛的应用,包括:

数据清理: 删除数字中的小数部分,例如财务数据中的货币值。 数学运算: 精简数字,例如计算平均值或舍入小数。 日期处理: 提取日期的特定部分,例如从时间戳中提取日期。 性能优化: 减少索引大小和查询时间,通过将数字向下取整到更粗糙的粒度。