微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

带有忽略大小写值的 PostgreSQL in 子句

如何解决带有忽略大小写值的 PostgreSQL in 子句

我正在使用此链接 - PostgreSQL: How to make "case-insensitive" query 并提出问题。

我希望传递值,并且也应该得到不区分大小写的响应。

select * from account_role where descr in ('Acquirer','Advisors');

如果我传递像 acquireradvisors 这样的值,它应该可以工作。如果我传递诸如“ACQUIRER”和“ADVISORS”之类的值。

我必须在 JPQL 中使用的相同查询,我在其中加入了其他表。

解决方法

您可以将值作为 ARRAY 传递,并将 ANYILIKE 结合使用以使其不区分大小写,例如

WITH j (txt) AS (
  VALUES ('ACQUIRER'),('ADVISORS')
) 
SELECT * FROM j 
WHERE txt ILIKE ANY (ARRAY['AcQuIrEr','AdvisorS']);

   txt    
----------
 ACQUIRER
 ADVISORS

看到这个db<>fiddle

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。