可以截取日期和数字
比如2010-10-15,截取得到2010的第一天,即2010-01-01
比如 20.5 ,截取得到20
截取日期
你首先要明白截取日期是怎么个回事。
假设date=27-10-20
trunc(date,‘yyyy’),获取当年第一天
不同于to_char();
如果 2020-05-12,你想获取2020,请用`to_char(date,'yyyy');`
获取05,`to_char(date,'mm')`
获取12,`to_char(date,'dd')`
trunc(date [, fmt ]),返回date
- fmt省略
输出年月日 - yyyy
返回当年第一天等于 SYYYY YYYY YEAR SYEAR YYY YY Y
- mm,当月第一天。等于
MONTH MON MM RM
- ww.与一年中的第一天有相同的星期几的日期。
比如 2020-12-23,第一年第一天是星期三,而恰好 2020-12-23就是星期三,输出它;
2020-12-22,第一年第一天是星期三,输出2020-12-16(16号是星期三)
输出的日期<=指定日期。 - DD,年月入,等于
DDD DD J 和省略fmt
- day,此星期的第一天(星期天),等于
DAY DY D
截取数字
只是截取,不四舍五四。
trunc(n1,[,n2]),返回number
-
n2可以省略。这样截取整数部分
-
n2为正,截到小数点后n2位
-
n2位负, 小数点前n2个数置为0
参考自:oracle 官方文档
https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/TRUNC-number.html#GUID-911AE7FE-E04A-471D-8B0E-9C50EBEFE07D
扫描二维码关注公众号,回复:
12068542 查看本文章