Как уменьшить элементы в массиве postgresql в операторе SELECT для поиска без учета регистра - PullRequest
0 голосов
/ 02 августа 2020

Могу ли я опустить элементы в столбце массива, как в столбце varchar или text?

SELECT * FROM a_tbl a
WHERE LOWER(%(uw)s) = ANY (a.n_lst) -- how to lower?
OR LOWER(a.x) = LOWER(%(uw)s)

Я видел в документации, что могу использовать citext в качестве типа данных. Я могу попытаться изменить свою таблицу, если нет возможности использовать LOWER

a_tbl
-----
id SERIAL PRIMARY KEY
n_lst TEXT[]
x VARCHAR(50)

Ответы [ 2 ]

2 голосов
/ 02 августа 2020

Вы можете сделать как показано ниже:

select lower('Jonh') = any(lower(n_lst::text)::text[]) from a_tbl;
0 голосов
/ 02 августа 2020

Как строчными буквами postgresql массив?

SELECT * FROM a_tbl a
WHERE LOWER(%(uw)s) ILIKE ANY (a.n_lst) -- how to lower?
OR LOWER(a.x) = LOWER(%(uw)s)
...