clojureql在两个日期之间选择

Kev*_*vin 5 clojure clojureql

我如何使用clojureql在两个日期之间进行选择?希望这样的事情:

@(-> (table :abc)
     (select (where (between d1 d2))))
Run Code Online (Sandbox Code Playgroud)

Joh*_*tie 6

你可以自己写 between

(defmacro between
  [x min max]
  `(and (< ~min ~x) (< ~x ~max)))
Run Code Online (Sandbox Code Playgroud)

这将与ClojureQL兼容.


mic*_*slm 4

没有BETWEEN,虽然您可能想使用 Lisp-y multiple-argument <,但这也不起作用:

;; 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))
Run Code Online (Sandbox Code Playgroud)