【发布时间】:2021-01-11 01:17:22
【问题描述】:
我有两列,一列用于“firstName”,另一列用于“lastName”。我正在尝试对这两个列的串联执行 where 操作以匹配全名。
这是我尝试过的:
select * from table where concat_ws(' ', 'firstName', 'lastName') like '%some_value%'
这只是返回一个空白数组。
示例数据:
| firstName | lastName |
|---|---|
| Clayton | Smith |
| Barbara | Clayman |
| Sam | Peterson |
当 some_value = Clay 时,它应该返回 'Clayton Smith' 和 'Barbara Clayman'
我从其他一些 stackoverflow 答案中得到了很多这种语法,这些答案被标记为类似问题的解决方案,但是当我自己实现这个时,我无法让它工作。
FWIW 我将使用 knex.js 构建这些查询,所以如果有 knex.js 特定的解决方案,请随时回答。
【问题讨论】:
-
样本数据对您的问题有很大帮助。
-
更新了一些数据
-
这是一个文字字符串模式。您需要将变量/参数与百分比字符连接起来。你似乎期望插值发生在那里。
-
@shawnt00 你能举例说明你的意思吗?
标签: sql postgresql knex.js