在 postgres 中,我有一个带有日期列的表。现在 postgres 允许我以 Ymd 格式写日期。但我需要 d/m/Y 格式的日期。如何改变它?
当我做:
show datestyle;
我得到:
"ISO, DMY"
并以这种格式在表格中输入日期13/02/2009
但是当我再次关闭并打开桌子时,我看到了这个2009-02-13
。JDBC 也以这种格式给我日期。我究竟做错了什么?
在 postgres 中,我有一个带有日期列的表。现在 postgres 允许我以 Ymd 格式写日期。但我需要 d/m/Y 格式的日期。如何改变它?
当我做:
show datestyle;
我得到:
"ISO, DMY"
并以这种格式在表格中输入日期13/02/2009
但是当我再次关闭并打开桌子时,我看到了这个2009-02-13
。JDBC 也以这种格式给我日期。我究竟做错了什么?
你也可以使用命令
set datestyle to [your new datestyle];
在 postgreSQL 的控制台中。
yyyy-mm-dd 是日期字段的推荐格式,它是 ISO 8601 格式。
您可以更改 postgresql.conf 文件中的格式。
该文件指出
用户可以使用 SET datestyle 命令、postgresql.conf 配置文件中的 DateStyle 参数或服务器或客户端上的 PGDATESTYLE 环境变量来选择日期/时间样式。格式化函数 to_char 也可用作更灵活的格式化日期/时间输出的方式。
希望这可以帮助!
将to_char函数与您的日期一起使用,如下所示:
select to_char(date_column1, 'Mon/DD/YYYY');
如果可能,请不要使用DATESTYLE
. 它会影响会话中的所有代码,包括可能不期望它并且可能没有DATESTYLE
在其定义中设置显式覆盖的存储过程之类的东西。
如果可以,请使用to_char
日期输出和to_timestamp
日期输入,只要您需要使用任何可能不明确的日期格式,例如D/M/Y
. 其余时间使用 ISO 日期。