修改时间戳

时间:2014-08-18 20:09:56

标签: postgresql timestamp

我有一个像2014-08-17T06:16:55.967Z这样的时间戳,我希望在Postgres数据库中插入,但我想删除毫秒并保留'T'和'Z'。有谁知道这有可能吗?我试过了2014-08-17T06:16:55.967Z::timestamp(0)timestamptz(0),但它们都带走了我想保留的内容。

我想2014-08-17T06:16:55Z

1 个答案:

答案 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

输入字符串中的TZ未保存在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