gpt4 book ai didi

postgresql - 如何使用 JSON 的比较 where 运算符

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

使用 json 列查询时出现此错误:

(psycopg2.ProgrammingError) operator does not exist: json = text

使用 SQLAlchemy 将列定义为 JSON:

json_data = db.Column(db.JSON, nullable=False)

与 Postgres 相比如何?

最佳答案

json 数据类型没有相等(或不等)运算符。如果您需要测试整个值,您可以转换为 jsonb:

... WHERE json_data::jsonb = jsonb '{}';

或者转换为简单情况下的文本:

... WHERE json_data::text = '{}';

但是对于相同的 json 值有许多有效的文本表示 - 这就是 Postgres 没有为该类型实现相等/不等运算符的原因。

参见:

关于postgresql - 如何使用 JSON 的比较 where 运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51248244/

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