Postgres LIKE %% 语法错误



我一直试图在 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

如果"@firstname"是一个参数,你需要这样的东西:

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

最新更新