【问题标题】:How can I make a Vertica IN predicate case insensitive?如何使 Vertica IN 谓词不区分大小写?
【发布时间】:2019-03-21 09:51:19
【问题描述】:

我想让我的 Vertica 查询的 IN 谓词不区分大小写。

select username from user where username in('Jim');

我希望上述查询返回如下条目:
吉姆
吉姆
吉姆

【问题讨论】:

    标签: sql vertica case-insensitive


    【解决方案1】:

    没有办法让in 不区分大小写。您可以将一堆ILIKEstatements 串在一起,但更好的方法是使用LOWER 字符串函数重写您的查询,并将IN 子句中的所有项目以小写形式放置。

    SELECT username FROM user WHERE LOWER(username) IN ('jim');
    

    【讨论】:

      【解决方案2】:

      以下查询示例忽略大小写:

      DROP TABLE IF EXISTS test_case CASCADE;
      CREATE TABLE test_case(f1 varchar(50));
      COPY test_case(f1) FROM STDIN;
      JIM
      Jim
      JiM
      TestValue
      \.
      
      SELECT * FROM test_case
      WHERE f1 ilike 'Jim';
      

      【讨论】:

        猜你喜欢
        • 2020-02-19
        • 1970-01-01
        • 2022-09-24
        • 2023-03-21
        • 2012-04-21
        • 2012-11-01
        • 2011-10-14
        • 2015-08-30
        • 1970-01-01
        相关资源
        最近更新 更多