假设您有这样的查询:
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
。