gpt4 book ai didi

ruby-on-rails - rails + ActiveRecord : comparing dates

转载 作者:太空宇宙 更新时间:2023-11-03 18:05:39 25 4
gpt4 key购买 nike

我有一个生成的文档,例如,2017-10-03 15:02:47

然后我有这个 Rails/SQL 查询(通过 Rails 或直接通过 SQL 控制台运行它都没有关系,结果是一样的):

SELECT * FROM table where needed_column <= '2017-10-03';

此查询不会返回在 2017-10-03 15:02:47 生成的文档。但是,如果我确实运行了这个查询:

SELECT * FROM table where needed_column <= '2017-10-03 23:59:59';

然后我得到所需的文档(生成于 2017-10-03 15:02:47)。

要解决这个问题,我可以手动将时间添加到查询中(23:59:59),但这不是一个非常优雅的解决方案。

我正在使用 Rails 5、AR、PostgreSQL - 有没有比手动将时间戳添加到查询更好的方法来解决这个问题?

谢谢

最佳答案

您的needed_column 可能正在保存时间戳(日期和时间)。正如您已经知道的那样,您需要将它与另一个时间戳进行比较或使用 ::date

转换 needed_column
Model.where("needed_column::date <= '2017-10-03'")

这将生成:

SELECT table.* FROM table WHERE (needed_column::date <= '2017-10-03')

关于ruby-on-rails - rails + ActiveRecord : comparing dates,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46643225/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com