PostgreSQL in 子句忽略大小写值
Posted
技术标签:
【中文标题】PostgreSQL in 子句忽略大小写值【英文标题】:PostgreSQL in clause with ignore case values 【发布时间】:2021-06-01 16:51:58 【问题描述】:我正在使用此链接 - PostgreSQL: How to make "case-insensitive" query 并提出一个问题。
我正在寻找传递值,并且应该得到不区分大小写的响应。
select * from account_role where descr in ('Acquirer','Advisors');
如果我传递 acquirer
和 advisors
之类的值,它应该可以工作。如果我传递诸如“ACQUIRER
”和“ADVISORS
”之类的值。
我必须在 JPQL 中使用与其他表连接的相同查询。
【问题讨论】:
【参考方案1】:您可以将值作为ARRAY
传递,并将ANY
与ILIKE
结合使用以使其不区分大小写,例如
WITH j (txt) AS (
VALUES ('ACQUIRER'),('ADVISORS')
)
SELECT * FROM j
WHERE txt ILIKE ANY (ARRAY['AcQuIrEr', 'AdvisorS']);
txt
----------
ACQUIRER
ADVISORS
看到这个db<>fiddle
【讨论】:
以上是关于PostgreSQL in 子句忽略大小写值的主要内容,如果未能解决你的问题,请参考以下文章
Firestore 数据库查询,忽略大小写(不区分大小写)和 like 子句。 [复制]