我们有一个表,其中的一列是一个数组。只要我的搜索值使用ILIKE匹配它们的值,我就需要选择一行或多行。我的问题是,我还需要搜索数组列的值。我尝试使用ANY,但是该值必须精确选择行。我需要类似于ILIKE的东西,但需要该数组列。
谢谢。
答案 0 :(得分:2)
使用unnest
函数:
SELECT x.value
FROM my_table t, unnest(t.my_array_column) as x(value)
WHERE x.value ILIKE 'foo'
一旦您的问题也被标记为elixir,要将其转换为 Ecto ,请使用Ecto.Query.API.fragment/1
作为选择条件,Ecto.Query.API.ilike/2
作为匹配条件。