




The function sql generates SQL from a set of expressions given by args. Each argument to sql is translated into SQL and then the args are concatenated with a single space between each pair. The rules for translation into SQL, based on the type of each individual argument x, are as follows:
string => (format nil "'~A'" x)
nil => "NULL"
symbol => (symbol-name x)
number => (princ-to-string x)
list => (format nil "(~{~A~^,~})" (mapcar #'sql x))
vector => (format nil "~{~A~^,~}" (map 'list #'sql x))
sql-expression => x
LispWorks User Guide and Reference Manual - 20 Sep 2017