如何在PostgreSQL中使用占位符语法的操作员使用



假设您有这样的查询:

SELECT * FROM the_table WHERE (name LIKE %$1%) LIMIT 10

和类似的值数组:

[tyrone]

查询在没有类似运算符的%%语法的情况下起作用。是否可以结合这些想法?任何对类似运营商的引用,我都可以找到占位符的使用。

尝试以上查询时会收到以下错误:

{" name":"错误","长度":90,"严重性":"错误","代码":" 42601","位置":" 38"," file":" scan.l scan.l"," line":" 1086","例程":" scanner_yyerror"}

sql没有字符串插值,因此您不能在字符串文字中使用占位符。您必须使用串联,例如

SELECT * FROM the_table WHERE (name LIKE '%' || $1 || '%') LIMIT 10

请注意,'%' || NULL的结果是NULL

最新更新