在db列

时间:2017-12-06 21:10:49

标签: sql postgresql

如何在仍然正确转义数据库的同时在db列中搜索多个用户提供的术语?我希望这一点,但适当的逃避:

select * from foo where description like '%<user term>%'

如果我这样做:

select * from foo where description like $1

然后我不确定如何在用户的术语周围插入%。

1 个答案:

答案 0 :(得分:0)

只需使用%user term%,例如:

t=# create role "weird name";
CREATE ROLE
t=# prepare s(text) as select rolname from pg_roles where rolname like $1;
PREPARE
t=# execute s('%rd na%');
  rolname
------------
 weird name
(1 row)