gpt4 book ai didi

sql - 如何过滤 Postgresql 中的 JSON 列?

转载 作者:行者123 更新时间:2023-11-29 12:31:55 35 4
gpt4 key购买 nike

假设我们有一个简单的表,

  • id - 用户 ID
  • rooms - 用户正在搜索的 JSON 类型的房间数。
id rooms
1 ["3.0","4.0"]
2 ["3.0"]
3 ["1.0"]

我如何过滤例如正在搜索 3 个房间的用户 ID?

我知道这样的代码:

SELECT
id
FROM
example_column
WHERE
rooms::text LIKE '%3.0%'

正在工作,但我正在寻找更温和的方法。

最佳答案

您可以使用“存在”? operator测试数组中的元素:

SELECT id
FROM the_table
WHERE rooms ? '3.0';

该运算符仅适用于jsonb 值,如果您真的使用json 列,则需要对其进行转换:

WHERE rooms::jsonb ? '3.0';

关于sql - 如何过滤 Postgresql 中的 JSON 列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58282659/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com