提问人:Raksha 提问时间:11/15/2023 更新时间:11/15/2023 访问量:49
无法从时间戳中删除毫秒
Can't drop milliseconds from timestamp
问:
我有这个.
所以我已经搜索了一段时间的 SO 和 Google,在这一点上我已经尝试了一切,感觉就像......date_created
2015-12-02 00:58:07.000000
date_created::timestamp(0)
或to_char(date_created, 'YYYY-MM-DD HH24:MI:SS')::timestamp(0)
或返回DATE_TRUNC('second', date_created)::timestamp(0)
[XX000] ERROR: Assert
Detail: ----------------------------------------------- error:
Assert code: 1 ...
...
to_timestamp(date_created)::timestamp(0)
返回
[42883] ERROR: function to_timestamp(timestamp without time zone) does not exist
Hint: No function matches the given name and argument types. You may need to add explicit type casts.
...
date_trunc('minute', date_created::timestamp)
或
date_trunc('minute', date_created)
返回
2015-12-02 00:58:00.000000
我只想下降到愚蠢的毫秒,同时仍然将数据类型保留为日期时间或时间戳。有人有其他技巧吗?或者这根本不是一件可能的事情?
答:
2赞
Laurenz Albe
11/15/2023
#1
影响 PostgreSQL 将时间戳呈现为字符串的方式的唯一方法是设置参数,并且任何设置都不会禁止显示小数秒。datestyle
如果您对将时间戳呈现为字符串有特殊要求,请在第二次尝试中使用 like,但省略对 的附加强制转换,因为它会取消您的工作。to_char
timestamp
评论
date_created::timestamp(0)
select now()::timestamp(0) 11/16/2023 08:13:20
timestamp/timestamptz