我将如何使用 clojureql 在两个日期之间进行选择?希望是这样的:
@(-> (table :abc)
(select (where (between d1 d2))))
你可以自己写between
(defmacro between
[x min max]
`(and (< ~min ~x) (< ~x ~max)))
这将与 ClojureQL 兼容。
没有BETWEEN
,虽然你可能很想使用 Lisp-y 多参数<
,但这也不起作用:
;; invalid SQL output
hello-cql.core> (select (table :abc) (where (< 10 :a 20)))
SELECT abc.* FROM abc WHERE (10 < a < 20)
;; valid SQL output
hello-cql.core> (select (table :abc) (where (and (< 10 :a) (< :a 20))))
SELECT abc.* FROM abc WHERE ((10 < a) AND (a < 20))