我需要在PL / PGSQL函数中生成动态Where,例如: 我有这个字符串
你好,postgresql,stackoverflow
我需要执行此查询:
SELECT * FROM tblname WHERE tbl_col LIKE %hello% OR tbl_col LIKE %postgresql% OR tbl_col LIKE %stackoverflow%;
有没有办法用逗号分割字符串并生成动态查询?
感谢您的帮助。
答案 0 :(得分:0)
您可以使用SIMILAR TO运算符而不是LIKE。你可以找到文档here
一个例子:
SELECT
*
FROM
tblname
WHERE
tbl_col SIMILAR TO '%(' || REPLACE( 'hello,postgresql,stackoverflow', ',', '|' )|| ')%'
答案 1 :(得分:0)
select *
from tblname
where tbl_col like any(array['%hello%', '%postgresql%', '%stackoverflow%']);