我正在尝试运行其中一个选定列的类型为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()
答案 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及更高版本中使用的方法。但是显然TZH
和TZM
在较旧的版本中是未知的。相反,可以在此处使用OF
。 OF
的唯一问题是,它仅显示某些时区的偏移时间(无法真正找到该时间的模式)。因此,如果不在会议记录中,则必须手动添加。
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;