如何在PostgreSQL中更改datestyle?

时间:2012-11-06 04:35:26

标签: postgresql

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

当我这样做时:

   show datestyle;

我明白了:

 "ISO, DMY"

并以此格式13/02/2009

输入表格中的日期

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

4 个答案:

答案 0 :(得分:12)

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

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

document

  

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

希望这有帮助!

答案 1 :(得分:7)

你也可以使用命令

set datestyle to [your new datestyle];

在postgreSQL的控制台中。

答案 2 :(得分:4)

to_char功能与日期一起使用,如下所示:

select to_char(date_column1, 'Mon/DD/YYYY');

答案 3 :(得分:2)

如果可能的话,请不要使用DATESTYLE。它会影响会话中的所有代码,包括可能没有预料到的存储过程等内容,也可能没有在其定义中设置明确的覆盖DATESTYLE

如果可以,只要您需要使用任何可能含糊不清的日期格式(例如to_char),就可以使用to_timestamp作为日期输出,并使用D/M/Y作为日期输入。其余时间使用ISO日期。