如何使用 Clojure 将 PostgreSQL 函数应用于查询?

问题描述 投票:0回答:1
(defn get-by-username
  [db username]
  (let [query (honey/format {:select [:*]
                             :from   [:ff_user]
                             :where  [:= :username username]]})]
    (jdbc/query db query)))

在此代码库上,我想应用此查询的返回值,在本例中返回一个字符串,结果是使用 PostgreSQL LOWER() 函数的小写字符串

postgresql clojure clojurescript clojure-java-interop
1个回答
0
投票

您正在使用 HoneySQL,因此调用 PostgreSQL 函数应该通过 HoneySQL 的 DSL 完成。相关部分描述于here

至于您的具体问题,目前尚不清楚

lower
函数必须应用于什么,因为
:*
返回所有列。

但是我们假设您想返回

:first-name
,只是小写。那么就会是这样的:

{:select [[[:lower :first-name]]]
 ...}

{:select :%lower.first-name
 ...}
© www.soinside.com 2019 - 2024. All rights reserved.