假设有这么一张表

2025-06-02T01:09:19.png

对应java实体类 (部分字段)
2025-06-02T01:11:18.png

数据:
2025-06-02T01:18:00.png

接下来开始正题

  • 我想要查询数组中包含的数据
select * from exam_data where topic_card_ids @> '["1926616127250481154"]'::jsonb

解释

where topic_card_ids @> '["1926616127250481154"]'::jsonb
查询条件为 topic_card_ids 的字段  @>表示包含 类似java的 contains
要查询该表中topic_card_ids 字段包含 ["1926616127250481154"] 的数据  
这个数组里面 的数据一定是和你数据库存储的类型一致  如果你存储的是Long 那么应该改成 [1926616127250481154]
最后记得在外层需要加上 ' ' 参数作为字符串传递进去
::表示topic_card_ids的类型
最后修改:2025 年 06 月 02 日
如果觉得我的文章对你有用,请随意赞赏