作者:被爱的超萌baby | 来源:互联网 | 2022-10-12 11:17
假设我们有一个简单的表格,
id-用户ID
rooms-用户正在以JSON类型搜索的房间数。
id rooms
1 ["3.0","4.0"]
2 ["3.0"]
3 ["1.0"]
我该如何过滤搜索3个房间的用户ID?
我知道这样的代码:
id rooms
1 ["3.0","4.0"]
2 ["3.0"]
3 ["1.0"]
正在工作,但是我正在寻找更柔和的方法。
1> a_horse_with..:
您可以使用“存在” ?
运算符来测试数组中的元素:
SELECT id
FROM the_table
WHERE rooms ? '3.0';
该运算符仅适用于jsonb
值,如果您确实在使用json
列,则需要强制转换它:
WHERE rooms::jsonb ? '3.0';