如何小写postgresql数组?

时间:2018-07-30 08:05:01

标签: postgresql

我需要在PostgreSQL中小写数组内容,lower(array['array_content']))array[lower('array_content']))不起作用。实际的数组要长得多。

SELECT * FROM kliendi_aadress WHERE lower(linn) LIKE ANY (array['Tallinn', 'Tartu','Narva'])

这甚至可以做到吗?

2 个答案:

答案 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']);