在 PolarDB 的 PostgreSQL 中,可以使用类似的函数来实现类似的功能。以下是一个示例查询,用于获取扩展名为 .sql
的文件列表:
SELECT * FROM information_schema.tables WHERE table_name LIKE '%.sql';
这个查询将返回所有扩展名为 .sql
的表名。你可以根据需要修改查询条件和表名来适应你的实际情况。
在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语法和函数有深入的了解。
您好,云原生数据库PolarDB 共有三个引擎,分别为PolarDB MySQL版、PolarDB PostgreSQL版、PolarDB分布式版,
对于每一种引擎对应的PolarDB版本也都100%兼容原生态,这里您想使用if的话,建议您可以更换成case when语法,语法格式:case a when b then c [when d then e] …… [else f] end
比如在Mysql版本下
select exam_id,case exam_id when 3 then 'A' else 'B' END as exam from crm_goods_package;
返回结果
你改用 case when then else end,或者自己写一个函数公式,就可以继续用 if。此回答整理自钉群“PG|POLARDB技术进阶”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
PolarDB 分布式版 (PolarDB for Xscale,简称“PolarDB-X”) 是阿里云自主设计研发的高性能云原生分布式数据库产品,为用户提供高吞吐、大存储、低延时、易扩展和超高可用的云时代数据库服务。