我有一个像2014-08-17T06:16:55.967Z
这样的时间戳,我希望在Postgres数据库中插入,但我想删除毫秒并保留'T'和'Z'。有谁知道这有可能吗?我试过了2014-08-17T06:16:55.967Z::timestamp(0)
或timestamptz(0)
,但它们都带走了我想保留的内容。
我想2014-08-17T06:16:55Z
。
答案 0 :(得分:1)
date_trunc
select date_trunc('second', '2014-08-17T06:16:55.967Z'::timestamp);
date_trunc
---------------------
2014-08-17 06:16:55
http://www.postgresql.org/docs/current/static/functions-datetime.html#FUNCTIONS-DATETIME-TRUNC
输入字符串中的T
和Z
未保存在timestamp列中。如果要显示它们,请格式化输出
select to_char(
date_trunc('second', '2014-08-17T06:16:55.967Z'::timestamp),
'YYYY-MM-DD"T"HH24:MI:SSZ'
);
to_char
----------------------
2014-08-17T06:16:55Z
http://www.postgresql.org/docs/current/static/functions-formatting.html