Postgres LIKE %%语法错误

时间:2018-09-04 17:08:40

标签: postgresql syntax syntax-error filtering

我一直试图在postgres中进行LIKE比较,但是反复收到一条错误消息,告诉我列"%@firstname%"不存在。

我需要澄清的是,此查询是在函数中执行的,“ @ firstname”是传递给函数的参数。

查询的相关部分如下:

WHERE u."firstname" LIKE "%@firstname%"

我不希望进行精确的比较,这就是为什么我试图将%%添加到查询中的原因。如果没有确切的查询,它们就可以正常工作。每当我添加%时,它就假定它们是变量名的一部分,随后找不到它。

我也尝试了以下方法:

  1. '%"@firstname"%'会导致返回一个空数组,即使它应该已经匹配

  2. "%'@firstname'%"产生error: column "%'@filter'%" does not exist

  3. %"@firstname"%产生error: column "%'@filter'%" does not exist

1 个答案:

答案 0 :(得分:3)

如果"@firstname"是一个参数,则需要类似:

WHERE u.firstname LIKE concat('%', "@firstname", '%');