我想在sql查询中替换关键字,所有这些都以冒号开头,例如:开始日期,:结束日期。我正在使用这段代码:
(defn replace-by-pair [s [match replacement]]
(str/replace s (re-pattern (name match)) replacement))
(replace-by-pair ":start-date" [:start-date, "20130901"])
函数名称返回关键字的字符串表示形式,因此不会替换冒号:
":20130901"
是否有另一种方法可以将关键字转换为String并包含冒号?
答案 0 :(得分:3)
是的,还有另一种方法可以将关键字转换为字符串 - 您可以使用str
,如下所示:
(name :start-date)
;=> "start-date"
(str :start-date)
;=> ":start-date"