16

我在 postgresql 中工作,我需要在查询本身中转换日期格式,在 mysql 中有一个名为的选项DATE_FORMAT,我可以使用这样的查询:

Select DATE_FORMAT(date_time, '%b %e, %Y, %T') from table_name

postgresql 中是否有任何选项?如果有请告诉我?

4

4 回答 4

38

如果我修改你的

Select DATE_FORMAT(date_time, '%b %e, %Y, %T') from table_name

Select DATE_FORMAT(now(), '%b %e, %Y, %T')

它会回来Aug 21, 2012, 16:51:30的。

你可以在 Postgresql 中做同样的事情:

Select to_char(now(), 'Mon-dd-YYYY,HH24:MM:SS')

会还给你Aug-21-2012,16:08:08

希望你的问题得到解决。

于 2012-08-21T11:29:14.860 回答
13

使用 to_char():

http://www.postgresql.org/docs/current/static/functions-formatting.html

我不知道'%b %e, %Y, %T'作为输出产生了什么(并且您没有提供示例输出),因此我无法为您提供 Postgres 的等效格式掩码。

下面产生一个 ANSI 日期:

select to_char(date_time, 'yyyy-mm-dd hh24:mi:ss')
from table_name;
于 2012-08-21T10:20:26.757 回答
9

试试这个

SELECT to_char(date_time, 'dd.mm.YYYY') from table_name
于 2012-08-21T10:19:53.900 回答
3

to_char,例如:

to_char(creation_date, 'FMDD.MM.YYYY, HH24:MI:SS') AS creation_date_f
于 2012-08-21T10:21:32.863 回答