如何更改Postgres中的日期格式?

del*_*ber 28 postgresql

我收到以下错误消息

错误:日期/时间字段值超出范围:"13/01/2010"提示:也许您需要一个不同的"日期样式"设置.

我希望以DD/MM/YYYY格式获取日期

Grz*_*ski 49

SHOW datestyle;

 DateStyle 
-----------
 ISO, MDY
(1 row)

INSERT INTO container VALUES ('13/01/2010');
ERROR:  date/time field value out of range: "13/01/2010"
HINT:  Perhaps you need a different "datestyle" setting.

SET datestyle = "ISO, DMY";
SET

INSERT INTO container VALUES ('13/01/2010');
INSERT 0 1

SET datestyle = default;
SET
Run Code Online (Sandbox Code Playgroud)

http://www.postgresql.org/docs/current/static/runtime-config-client.html#GUC-DATESTYLE

DateStyle - 设置日期和时间值的显示格式,以及解释模糊日期输入值的规则.由于历史原因,此变量包含两个独立组件:输出格式规范(ISO,Postgres,SQL或德语)和年/月/日排序(DMY,MDY或YMD)的输入/输出规范.

当然最好使用明确的输入格式(ISO 8601),但根据需要调整它是没有问题的.


Ber*_*rak 7

您可以将日期样式设置为Europian(dd/mm/yyyy):

SET DateStyle TO European;
Run Code Online (Sandbox Code Playgroud)

我建议不要这样做.我通常尝试在格式之间进行转换,并在数据源中保留ISO格式的日期.毕竟,这只是一个代表问题,而不是不同数据的问题.