首页 >数据库 >mysql教程 >如何在 SQL 中删除时间戳中的毫秒数?

如何在 SQL 中删除时间戳中的毫秒数?

Linda Hamilton
Linda Hamilton原创
2024-12-25 17:47:14340浏览

How Can I Trim Milliseconds from Timestamps in SQL?

修剪时间戳以截断毫秒

使用时间戳时,可能需要丢弃或舍入时间戳的毫秒部分。例如,删除几分之一秒对于简化数据分析或提高某些情况下的性能很有用。

实现此目的的一种方法是使用转换为 timestamp(0) 或 timestamptz(0)。此操作将时间戳四舍五入到最接近的整秒:

SELECT now()::timestamp(0);

结果值的毫秒数将被截断为零。但是,请注意,这种方法也会截断微秒和小数秒。

另一种选择是利用 date_trunc() 函数,它可以对截断过程提供更精细的控制。该函数有两个参数:要截断的字段(例如“秒”)和要截断的时间戳。通过指定“秒”作为字段,您可以删除毫秒而不更改秒:

SELECT date_trunc('second', now()::timestamp);

date_trunc() 函数支持多种截断字段,包括“分钟”和“小时”。这样可以更灵活地控制所需的精度级别。

需要注意的是,两种情况下返回值的数据类型都与输入匹配。如果原始时间戳是timestamp或timestamptz,结果也将是相同类型。

以上是如何在 SQL 中删除时间戳中的毫秒数?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn