修剪时间戳以截断毫秒
使用时间戳时,可能需要丢弃或舍入时间戳的毫秒部分。例如,删除几分之一秒对于简化数据分析或提高某些情况下的性能很有用。
实现此目的的一种方法是使用转换为 timestamp(0) 或 timestamptz(0)。此操作将时间戳四舍五入到最接近的整秒:
SELECT now()::timestamp(0);
结果值的毫秒数将被截断为零。但是,请注意,这种方法也会截断微秒和小数秒。
另一种选择是利用 date_trunc() 函数,它可以对截断过程提供更精细的控制。该函数有两个参数:要截断的字段(例如“秒”)和要截断的时间戳。通过指定“秒”作为字段,您可以删除毫秒而不更改秒:
SELECT date_trunc('second', now()::timestamp);
date_trunc() 函数支持多种截断字段,包括“分钟”和“小时”。这样可以更灵活地控制所需的精度级别。
需要注意的是,两种情况下返回值的数据类型都与输入匹配。如果原始时间戳是timestamp或timestamptz,结果也将是相同类型。
以上是如何在 SQL 中删除时间戳中的毫秒数?的详细内容。更多信息请关注PHP中文网其他相关文章!