oracle trunc()截断函数

可以截取日期和数字

比如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

  1. fmt省略
    输出年月日
  2. yyyy
    返回当年第一天 等于 SYYYY YYYY YEAR SYEAR YYY YY Y
    在这里插入图片描述
  3. mm,当月第一天。等于MONTH MON MM RM
    在这里插入图片描述
  4. ww.与一年中的第一天有相同的星期几的日期。
    比如 2020-12-23,第一年第一天是星期三,而恰好 2020-12-23就是星期三,输出它;
    2020-12-22,第一年第一天是星期三,输出2020-12-16(16号是星期三)
    输出的日期<=指定日期。
  5. DD,年月入,等于DDD DD J 和省略fmt
  6. day,此星期的第一天(星期天),等于DAY DY D

截取数字

只是截取,不四舍五四。
trunc(n1,[,n2]),返回number

  1. n2可以省略。这样截取整数部分
    在这里插入图片描述

  2. n2为正,截到小数点后n2位
    在这里插入图片描述

  3. n2位负, 小数点前n2个数置为0
    在这里插入图片描述

参考自:oracle 官方文档
https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/TRUNC-number.html#GUID-911AE7FE-E04A-471D-8B0E-9C50EBEFE07D

猜你喜欢

转载自blog.csdn.net/qq_43179428/article/details/109313449