有什么功能可以查找存储在数组类型列中的多个特定值?

时间:2019-08-26 11:03:34

标签: sql postgresql

我正在寻找一个函数,该函数可以帮助我查询存储为数组的特定列上的多个输入值

已经尝试使用like函数搜索字符串

select *
from express_dwh.kengic_bag_seal_ad_json
where Sorter_id='KENGIC_1' and ad >='2019-08-21-0' and 
      wbns LIKE '%3008127238325%' OR wbns LIKE '%3008127259896%' OR wbns LIKE '%3008127263750%'

运行查询时出错:

  

SYNTAX_ERROR:第3:56行:LIKE表达式的左侧必须求值为varchar(实际值:array(varchar))

enter image description here

1 个答案:

答案 0 :(得分:0)

您可能正在寻找“重叠”运算符&&

wbns && ARRAY[3008127238325,3008127259896,3008127263750]

根据数据类型,您可能需要强制转换

wbns && ARRAY[3008127238325,3008127259896,3008127263750]::numeric[]