Я хотел бы сделать предикат IN моего запроса Vertica нечувствительным к регистру.
IN
select username from user where username in('Jim');
Я бы хотел, чтобы приведенный выше запрос возвращал записи типа: JIM Jim JiM
Нет способа сделать in нечувствительным к регистру. Вы можете связать воедино кучу ILIKE операторов , но лучшим способом было бы переписать ваш запрос, используя строковую функцию LOWER, и поместить все элементы в предложении IN в нижний регистр.
in
ILIKE
LOWER
SELECT username FROM user WHERE LOWER(username) IN ('jim');
В следующем примере запроса игнорируется регистр:
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';