28

在 postgres 中,我有一个带有日期列的表。现在 postgres 允许我以 Ymd 格式写日期。但我需要 d/m/Y 格式的日期。如何改变它?

当我做:

   show datestyle;

我得到:

 "ISO, DMY"

并以这种格式在表格中输入日期13/02/2009

但是当我再次关闭并打开桌子时,我看到了这个2009-02-13。JDBC 也以这种格式给我日期。我究竟做错了什么?

4

4 回答 4

17

你也可以使用命令

set datestyle to [your new datestyle];

在 postgreSQL 的控制台中。

于 2017-10-18T23:05:34.733 回答
16

yyyy-mm-dd 是日期字段的推荐格式,它是 ISO 8601 格式。

您可以更改 postgresql.conf 文件中的格式。

文件指出

用户可以使用 SET datestyle 命令、postgresql.conf 配置文件中的 DateStyle 参数或服务器或客户端上的 PGDATESTYLE 环境变量来选择日期/时间样式。格式化函数 to_char 也可用作更灵活的格式化日期/时间输出的方式。

希望这可以帮助!

于 2012-11-06T04:50:02.863 回答
7

to_char函数与您的日期一起使用,如下所示:

select to_char(date_column1, 'Mon/DD/YYYY');
于 2012-11-06T04:41:25.237 回答
4

如果可能,请不要使用DATESTYLE. 它会影响会话中的所有代码,包括可能不期望它并且可能没有DATESTYLE在其定义中设置显式覆盖的存储过程之类的东西。

如果可以,请使用to_char日期输出和to_timestamp日期输入,只要您需要使用任何可能不明确的日期格式,例如D/M/Y. 其余时间使用 ISO 日期。

于 2012-11-06T08:33:43.760 回答