我有一个表responses
,其中有一个JSON列value
。 value
列应该是文本值的数组,如下所示:
["Value One", "Value Two", "Value Three"]
但是,关联应用程序中的错误导致其中一些值另存为字符串,例如:
"Value One"
是否可以仅在此列中查询文本/字符串类型,这样我才能解决错误的条目?
答案 0 :(得分:0)
使用功能jsonb_typeof()
,例如:
with responses(value) as (
values
('["Value One", "Value Two", "Value Three"]'::jsonb),
('"Value One"')
)
select *
from responses
where jsonb_typeof(value) <> 'array'
value
-------------
"Value One"
(1 row)