2011-08-31 13 views

Odpowiedz

4

Nie ma BETWEEN, a jednocześnie może być skłonny do korzystania Lisp-y wielokrotnego argumentu <, że nie działa albo:

;; 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)) 
6

można napisać własny between

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

ten będzie zgodny z ClojureQL.

Powiązane problemy