在PostgreSQL中,2019-04-23T22:34:40.253-05:00的日期时间格式是什么?

时间:2019-05-14 09:44:34

标签: postgresql datetime-format postgresql-9.5

我正在尝试运行其中一个选定列的类型为mapNeighborhood.values().stream() .map(Map::values) .flatMap(Collection::stream) .filter(car -> car.getColor().equalsIgnoreCase("red")) .forEach(car -> car.repaint("black")); 的SQL。

我想将其选择为字符串,所以我正在使用datetime。我传递了列名,但是卡在了to_char

的第二个参数中

最终字符串的格式应为

to_char

在PostgreSQL中作为2019-04-23T22:34:40.253-05:00 的第二个参数传递给我的格式是什么?

to_char()

2 个答案:

答案 0 :(得分:1)

这应该是您的解决方案:

SELECT to_char(current_timestamp, 'YYYY-MM-DD"T"HH24:MI:SS.MSTZH:TZM');

            to_char            
-------------------------------
 2019-05-14T11:52:57.470+02:00
(1 row)

答案 1 :(得分:0)

Laurenz Albe的答案是在Postgres 11及更高版本中使用的方法。但是显然TZHTZM在较旧的版本中是未知的。相反,可以在此处使用OFOF的唯一问题是,它仅显示某些时区的偏移时间(无法真正找到该时间的模式)。因此,如果不在会议记录中,则必须手动添加。

select to_char(now(), 'YYYY-MM-DD"T"HH24:MI:SS.MS')
       || CASE
            WHEN to_char(now(), 'OF') LIKE '%:%' THEN 
              to_char(now(), 'OF')
            ELSE
              to_char(now(), 'OF') || ':00'
          END;

db<>fiddle