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

ruby-on-rails – ActiveRecord查询中的DateTime算法(PostgreSQL

发布时间:2020-12-17 04:00:06 所属栏目:百科 来源:网络整理
导读:我在User / users表中有两个datetime列:created_at和birthdate.我想找到生日日期不到13年的用户. 等效的Rails if语句将是((created_at – birthdate) 13.years) 如何将其转换为ActiveRecord查询(一个可以在PostgreSQL上运行的查询)?这甚至是可能的,还是我
我在User / users表中有两个datetime列:created_at和birthdate.我想找到生日日期不到13年的用户.

等效的Rails if语句将是((created_at – birthdate)< 13.years) 如何将其转换为ActiveRecord查询(一个可以在PostgreSQL上运行的查询)?这甚至是可能的,还是我必须手动迭代所有记录?

解决方法

最简单的方法是使用 interval,然后它几乎是Rails版本的直接音译:

User.where(%q{created_at - birthdate < interval '13 years'})

两个时间戳(或时间戳和日期)之间的差异是一个间隔,因此您只需要在比较的右侧使用适当的值.

(编辑:李大同)

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

    推荐文章
      热点阅读