我需要在PostgreSQL中小写数组内容,lower(array['array_content']))
或array[lower('array_content']))
不起作用。实际的数组要长得多。
SELECT * FROM kliendi_aadress WHERE lower(linn) LIKE ANY (array['Tallinn', 'Tartu','Narva'])
这甚至可以做到吗?
答案 0 :(得分:0)
首先想到的是丑陋的
db=# select lower(array['Tallinn', 'Tartu','Narva']::text)::text[];
lower
-----------------------
{tallinn,tartu,narva}
(1 row)
在这里,我lower
用文本表示数组,然后将其转换回数组。
所以比较:
db=# select 'tartu' = any (lower(array['Tallinn', 'Tartu','Narva']::text)::text[]);
?column?
----------
t
(1 row)
答案 1 :(得分:0)
好吧ILIKE为我解决了这个问题
SELECT * FROM kliendi_aadress WHERE linn ILIKE ANY (array['Tallinn', 'Tartu','Narva']);