Postgresql日期格式错误

时间:2014-07-22 11:45:53

标签: ruby-on-rails postgresql

更改datepicker的日期格式时遇到问题。 我想要'dd / mm / yyyy / date格式,但postgres会抛出这个错误:

ActiveRecord::StatementInvalid - PG::DatetimeFieldOverflow: ERROR:  date/time field value out of range: "16/07/2014"
Perhaps you need a different "datestyle" setting.

因为它以美国方式保存日期格式。

2 个答案:

答案 0 :(得分:4)

datestyle设置定义了系统的默认值。考虑一下@ Ilesh的回答。 postgresql.conf中的设置适用于db cluster中的所有数据库。

要使语句在不考虑设置的情况下工作,请使用to_date()函数从字符串常量中形成日期值:

SELECT to_date('16/07/2014', 'DD/MM/YYYY');

相关:
Store date with optional month / day

答案 1 :(得分:3)

在postgreSQL数据库中设置datestyle,如下所示:

SET datestyle = "ISO, DMY";