在PolarDB for PostgreSQL中,你可以使用LIKE运算符来实现类似的查询功能,而不是使用IF函数。LIKE运算符可以用来搜索列中的指定模式。在你的例子中,你可以使用LIKE '%测试%'来查找名字中包含"测试"的记录。
所以,你的查询可以修改为:
SELECT *
FROM uc_role t1
WHERE 1=1
AND (t1.name LIKE '%测试%' OR t1.name LIKE '%其他值%')
AND t1.extend_one = 'd84311d5280c466f8c7bc58caa02b288'
AND t1.status = 1
ORDER BY gmt_create DESC;
在这个查询中,我们使用了OR运算符来同时匹配"测试"和其他值。请注意,LIKE运算符是大小写不敏感的,如果你需要大小写敏感的匹配,你可以使用ILIKE运算符。
此外,如果你的查询中有很多复杂的条件,你可能需要考虑使用SQL函数或自定义的聚合函数来简化查询。但是,这需要你对PostgreSQL的SQL语法和函数有深入的了解。