首页 > 解决方案 > 如何检查 JSONB 中包含的字段类型?

问题描述

我希望这是一个相当简单的问题,答案很简单。

在 PostgreSQL 中,我有一个表,其中的 Answer 列是jsonb. 截至目前,可以存储在列中的数据可以是空的,也可以是多种多样的。一些例子包括:

Answer是的,我们在名为的列中存储了一个名为的字段Answer。不知道为什么,但就是这样。

我希望能够测试 JSON 属性是否Answer包含字符串或数组。但我不知道怎么做,而且我的搜索措辞一定是错误的。我没有找到任何具体的东西。我已经知道如何检查是否Answer存在。只是说不出它包含什么。

有谁知道我会怎么做?或者如果没有办法,我需要做什么来查询这些数据?

标签: pythonpostgresqlflask-sqlalchemyjsonb

解决方案


条件是:

WHERE jsonb_typeof(answer->'Answer') = 'string'

推荐阅读