【问题标题】:PostgreSQL in clause with ignore case valuesPostgreSQL in 子句忽略大小写值
【发布时间】:2021-06-01 16:51:58
【问题描述】:

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

我正在寻找传递值,并且应该得到不区分大小写的响应。

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

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

我必须在 JPQL 中使用与其他表连接的相同查询。

【问题讨论】:

    标签: postgresql jpa jpql postgresql-9.5


    【解决方案1】:

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

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

    看到这个db<>fiddle

    【讨论】:

      猜你喜欢
      • 2012-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-04
      相关资源
      最近更新 更多