TRUNC(截取)函数的用法

TRUNC(截取)函数的用法TRUNC 函数在 Oracle 中用于截断日期 时间或数字的精度 其语法如下 截取数字 TRUNC number precision 其中 number 表示要截断的数字 precision 表示截断的精度 可以是负数 整数或者默认为空 正数表示保留小数位数

大家好,我是讯享网,很高兴认识大家。

TRUNC函数在Oracle中用于截断日期、时间或数字的精度。其语法如下:

截取数字:

TRUNC(number [, precision]) 

讯享网

其中:

  • number 表示要截断的数字。
  • precision表示截断的精度。可以是负数、整数或者默认为空。正数表示保留小数位数,负数表示截断小数位数,0表示截断整数部分。

    以下是一些示例:

讯享网SELECT TRUNC(12.345) FROM dual; -- 返回12 SELECT TRUNC(9.999, 2) FROM dual; -- 返回9.99 SELECT TRUNC(1234.5678, -2) FROM dual; -- 返回1200 SELECT TRUNC(1234.5678, 1) FROM dual; -- 返回1234.5 

截取日期

TRUNC(date [, format]) 

其中

  • date表示要截断的日期/时间。
  • format 表示截断结果的格式。可以是以下值之一:‘YYYY’, ‘YYY’, ‘YY’, ‘YEAR’,‘MONTH’, ‘MON’, ‘MM’, ‘DY’, ‘DAY’, ‘HH24’, ‘HH12’, ‘HH’, ‘MI’, ‘SS’,‘SSSSS’ 等。

以下是一些示例:


讯享网

讯享网select trunc(sysdate) from dual; -- 2023-08-04 今天的日期为2023-08-04 select trunc(sysdate, 'mm') from dual; -- 2023-08-01 返回当月第一天 select trunc(sysdate, 'MONTH') from dual; -- 2023-08-01 返回当月第一天 select trunc(sysdate, 'yy') from dual; -- 2023-01-01 返回当年第一天 select trunc(sysdate, 'yyyy') from dual; -- 2023-01-01 返回当年第一天 SELECT TRUNC(SYSDATE, 'YYYY') FROM dual; -- 2023-01-01 返回当年第一天 select trunc(sysdate, 'dd') from dual; -- 2023-08-04 返回当前年月日 select trunc(sysdate, 'd') from dual; -- 2023-07-30 (星期天)返回当前星期的第一天,自己查下日历看下 select trunc(sysdate, 'day') from dual; -- 返回当前星期的第一天 select trunc(sysdate, 'hh') from dual; -- 2023-08-04 10:00:00 返回当前小时的开始时间 当前时间为10:15 SELECT TRUNC(SYSDATE, 'HH24') FROM dual; -- 返回当前小时的开始时间 select trunc(sysdate, 'mi') from dual; -- 2023-08-04 10:15:00 返回当前分钟的开始时间 TRUNC()函数没有秒的精确 SELECT TRUNC(SYSDATE, 'MI') FROM dual; -- 返回当前分钟的开始时间 

请注意,TRUNC函数在Oracle和MySQL中的使用可能有所不同。上述示例只适用于Oracle数据库。在使用时,请查阅所使用数据库的文档以了解具体语法和用法。

这里整理了几个mysql对应的写法,由于mysql没有TRUNC函数。

在MySQL中,可以使用DATE_FORMAT函数和STR_TO_DATE函数来实现类似于Oracle中TRUNC函数的功能。下面是一个示例:

SELECT DATE_FORMAT(sysdate(), '%Y-%m-%d') from dual; -- 2023-08-04 返回当前年月日 SELECT DATE_FORMAT(sysdate(), '%Y-%m-01') from dual; -- 2023-08-01 返回当月第一天 SELECT DATE_FORMAT(sysdate(), '%Y-01-01') from dual; -- 2023-01-01 返回当年第一天 

请注意,在MySQL中没有直接等效于Oracle中TRUNC函数的函数。因此,您需要使用STR_TO_DATE将字符串转换为日期,然后使用DATE_FORMAT函数指定所需的日期格式来实现截断。

有更好的方法欢迎评论区留言补充

小讯
上一篇 2025-02-26 22:52
下一篇 2025-01-16 12:16

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/48967.html