【发布时间】:2020-11-13 07:59:33
【问题描述】:
我使用 ActiveRecord::Base.connection.execute 和纯 sql 进行相同的查询,但结果不同。有没有人遇到过像我这样的情况?我使用 postgresql 9.6 和 activerecord 5.2.3
我的查询:
SELECT history_id, timestamp
FROM xxx
WHERE (
timestamp >= TO_TIMESTAMP('2002/07/17 00:00:00', 'YYYY/mm/DD HH24:MI:SS') AND
timestamp < TO_TIMESTAMP('2002/07/23 00:00:00', 'YYYY/mm/DD HH24:MI:SS') +'1 day'::interval
--
)
我通过 ActiveRecord::Base.connection.execute(my_query) 查询 ActiveRecord 结果记录在 2002/07/24 的时间戳。当我使用纯 SQL 查询时,这些不会出现。
我在 xxx 表中的时间戳列有类型:带时区的时间戳
【问题讨论】:
-
哪个查询?你的数据库状态是什么?你怎么称呼它?它在返回什么?它应该返回什么?
-
感谢您的评论。我已经编辑了我的帖子
标签: ruby postgresql activerecord sinatra sinatra-activerecord