【发布时间】:2018-05-23 07:34:16
【问题描述】:
我在表中有一个列 jsonb [14,21,31]
我想获取所有带有选定元素的行,例如
SELECT *
FROM t_customers
WHERE tags ?| array['21','14']
但是 jsonb 元素是整数格式 我如何将sql数组元素转换为整数 我尝试从数组中删除引号,但它给出了错误
【问题讨论】:
-
@LaurenzAlbe: 但您不能使用
int[]作为?|运算符的右手值 - 这需要text[] -
如果将这些整数存储在
int[]列而不是jsonb列中会容易得多(并且可能更有效) -
我可以使用其他运算符来代替吗?|匹配 int[] @a_horse_with_no_name
-
不适用于 JSON 数组。正如我所说:这最好存储在本机 Postgres 数组中
标签: sql postgresql jsonb