我有以下postgresql语句:
SELECT 1 = ANY( jsonb_array_elements_text('[2, 1, 3]') );
[1, 2, 3]
有时这个数组也可能是空的,比如:
[]
. 现在,我想编写一个查询(作为更大查询的一部分),在这里我可以找出元素是否匹配文本中的任何整数。例如:
SELECT 1 = ANY( jsonb_array_elements_text('[2, 1, 3]') ); -- Should return true
SELECT 1 = ANY( jsonb_array_elements_text('[]') ); -- should return false
但是,上述查询失败并显示错误消息:
ERROR: op ANY/ALL (array) requires array on right side
LINE 1: SELECT 1 = ANY( jsonb_array_elements_text('[2, 1, 3]') );
如何从文本中提取整数数组以便在连接条件中使用它,有什么帮助吗?
我用的是Postgres9.4,如果有关系的话。