如何在PostgreSQL中更改datestyle?

Kli*_*Max 18 postgresql

在postgres中,我有一个带有日期列的表.现在postgres允许我以Ymd格式写日期.但我需要d/m/Y格式的日期.怎么改呢?

当我做:

   show datestyle;
Run Code Online (Sandbox Code Playgroud)

我明白了:

 "ISO, DMY"
Run Code Online (Sandbox Code Playgroud)

并以此格式输入表格中的日期 13/02/2009

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

Ha *_* Sh 12

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

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

文件指出

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

希望这可以帮助!


小智 10

你也可以使用该命令

set datestyle to [your new datestyle];
Run Code Online (Sandbox Code Playgroud)

在postgreSQL的控制台中.

  • 然而,这只是每个会话的更改。 (4认同)

hd1*_*hd1 7

对您的日期使用to_char函数,如下所示:

select to_char(date_column1, 'Mon/DD/YYYY');
Run Code Online (Sandbox Code Playgroud)


Cra*_*ger 6

如果可能的话,不要使用DATESTYLE. 它将影响会话中的所有代码,包括存储过程之类的内容,这些代码可能没有预料到,并且可能没有DATESTYLE在其定义中设置显式覆盖。

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