我一直试图在 postgres 中进行LIKE
比较,但反复收到错误,告诉我列"%@firstname%"
不存在。
我应该澄清一下,这个查询是在函数中执行的,"@firstname"是传递给函数的参数。
查询的相关部分如下:
WHERE u."firstname" LIKE "%@firstname%"
我不想要确切的比较,这就是我尝试将%%添加到查询中的原因。对于确切的查询,如果没有它们,它就可以正常工作。每当我添加 % 时,它都会假设它们是变量名称的一部分,随后找不到它。
我还尝试了以下方法:
-
'%"@firstname"%'
导致返回空数组,即使它应该匹配 -
"%'@firstname'%"
导致error: column "%'@filter'%" does not exist
-
%"@firstname"%
导致error: column "%'@filter'%" does not exist
如果"@firstname"
是一个参数,你需要这样的东西:
WHERE u.firstname LIKE concat('%', "@firstname", '%');