5

clojureql を使用して 2 つの日付を選択するにはどうすればよいですか? うまくいけば、このようなもの:

@(-> (table :abc)
     (select (where (between d1 d2))))
4

2 に答える 2

6

自分で書くことができますbetween

(defmacro between
  [x min max]
  `(and (< ~min ~x) (< ~x ~max)))

これは ClojureQL と互換性があります。

于 2011-09-01T12:10:20.327 に答える
4

BETWEENLisp-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))
于 2011-08-31T20:52:26.747 に答える