在查询中设置日期范围

时间:2014-08-19 15:19:22

标签: sql clojure

我想在我的查询中添加一个条件来过滤日期低于当月的记录。我怎样才能做到这一点?我尝试使用clj-time来检索当前月份并将其与DB字段匹配。但这并没有给我带来任何好运。

1 个答案:

答案 0 :(得分:1)

实际上,使用clj-time确定当前月份非常简单:

(month (now)) ; number from 1 to 12

但是,既然您正在尝试查询数据库,那么您应该对当月的开头感兴趣:

(let [t (now)]
  (date-time (year t) (month t)))

此代码将返回一个有效的DateTime对象,对应于当前月份的开头。您可以使用此对象来查询SQL数据库:

(select objects
  (where {:created [> start_of_the_current_month]}))