加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Postgres日期/时间字段值超出范围

发布时间:2020-12-17 02:36:41 所属栏目:百科 来源:网络整理
导读:我在mac lion上运行postgres 9 …在rails 3.2.3 web app上运行. 我正在查询表名为errors_rates_last_updated_at的条目,该条目目前尚不存在.所以当我在rails控制台中键入以下内容时: a = Settings.errors_rate_last_updated_at 我得到= 0000-01-01 00:00:00
我在mac lion上运行postgres 9 …在rails 3.2.3 web app上运行.

我正在查询表名为errors_rates_last_updated_at的条目,该条目目前尚不存在.所以当我在rails控制台中键入以下内容时:

a = Settings.errors_rate_last_updated_at

我得到= 0000-01-01 00:00:00 -0800.很公平.

然后当我用这个日期查询模型时,用

Error.where('most_recent_notice_at > ?',a)

我收到此错误:

ActiveRecord::StatementInvalid: PG::Error: ERROR:  date/time field value out of range: "0000-01-01 08:00:00.000000"

有人可以帮我弄清楚发生了什么吗?谢谢!

解决方法

Rails使用的是在Pg上无效的MySQL-ism.不允许零时间戳.

regress=# SELECT CAST('0000-01-01 08:00:00.000000' AS date);
ERROR:  date/time field value out of range: "0000-01-01 08:00:00.000000"
LINE 1: SELECT CAST('0000-01-01 08:00:00.000000' AS date);

要了解有关如何达到这一点的更多信息,您需要启用查询日志记录 – 无论是在PostgreSQL还是rails中 – 并找出导致异常的查询.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读