【发布时间】:2017-11-11 15:38:40
【问题描述】:
我有一个这样的 postgresql 数据库:
users
id name companyrestrictions
1 Bill [3, 4]
2 Fred [5, 6]
然后是每个公司的变量3 在这种情况下
所以我写了一个这样的查询:
SELECT * FROM users WHERE 3 = ANY(users.companyrestrictions)
但我收到以下错误: op ANY/ALL (array) 需要右侧的数组
公司限制的类型为jsonb
我做错了什么?
【问题讨论】:
-
正如错误所说:您不能在 JSONB 列上使用数组运算符。没有等效的函数来测试 JSONB 列内的数组内的元素。如果你只想存储一个数组,那你为什么不使用数组呢?
-
我没有看到 Postgres 的数组数据类型,有吗?它叫什么?
标签: sql json postgresql jsonb