从时间戳中丢弃毫秒部分

时间:2012-04-18 15:52:30

标签: sql postgresql casting timestamp rounding

如果millisecond部分也从second w / o timestamp中删除,我该如何舍弃/绕过timezone部分?

3 个答案:

答案 0 :(得分:104)

转换为timestamp(0)timestamptz(0) 轮次 至完整秒数:

SELECT now()::timestamp(0);

分数不存储在此类表格列中。

date_trunc() 截断 (保持秒数不变) - 这通常是您真正想要的:

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

答案 1 :(得分:2)

如果您只想花时间,这里是postgres的代码

SELECT DATE_TRUNC('second', CURRENT_TIMESTAMP::timestamp)::time;

它将返回“无时区的时间”数据类型

答案 2 :(得分:1)

丢弃毫秒:

SELECT DATE_TRUNC('second', CURRENT_TIMESTAMP::timestamp);
  

2019-08-23 16:42:43

丢弃秒数:

SELECT DATE_TRUNC('minute', CURRENT_TIMESTAMP::timestamp);
  

2019-08-23 16:42:00