我有以下查詢:檢查數組中是否有任何子串出現在字符串中?
select case when count(*)>0 then true else false end
from tab
where param in ('a','b') and position('T' in listofitem)>0
此檢查是否存在在列listofitem
'T'
如果確實如此的計數> 0。基本上,它是子串的搜索。
這在這個私人案件中效果很好。不過,我的真實情況是,我有text[]
調用sub_array
意味着多個值來檢查。如何修改查詢以處理sub_array
類型?我更喜歡在查詢中使用它,而不是使用LOOP的函數。
我actualy需要的是:
select case when count(*)>0 then true else false end
from tab
where param in ('a','b') and position(sub_array in listofitem)>0
這因爲sub_array
不工作的類型是Text[]
試試' unnest'陣列 –