
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