Trunc(X,Y)
时间: 2024-09-10 14:02:46 浏览: 43
Oracle round()函数与trunc()函数区别介绍
5星 · 资源好评率100%
`TRUNC(X, Y)` 是Oracle数据库中的函数,它用于截断数字X到小数点后的Y位数。这里的Y可以是正数表示从右向左截取指定位数,也可以是负数表示从左向右截取绝对值为Y的位数。
**示例1:**
如果想要保留两位小数并四舍五入[^1]:
```sql
select trunc(5555.66666, 2.1) from dual;
-- 输出:5555.67
select trunc(5555.66666, -2.6) from dual;
-- 输出:5500
```
在这个例子中,`2.1` 表示保留两位小数并四舍五入,而 `-2.6` 则意味着从左边开始计数,保留到第三位,多余的数字被丢弃。
**示例2:**
Oracle还支持基于时间单位的截断[^2]:
```sql
select sysdate, trunc(sysdate), trunc(sysdate, 'day'), trunc(sysdate, 'month'), trunc(sysdate, 'q'), trunc(sysdate, 'year')
from dual;
```
这会返回当前日期、当天日期、本周的第一天(周日)、本月的第一天以及本季度的第一天和当年的第一天。
阅读全文