【问题标题】:How do I query a PostgreSQL JSON column for a specific type of value?如何查询 PostgreSQL JSON 列以获取特定类型的值?
【发布时间】:2019-05-09 14:48:08
【问题描述】:

我有一个表 responses,其中有一个 JSON 列 valuevalue应该是一个文本值数组,如下所示:

["Value One", "Value Two", "Value Three"]

但是,相关应用程序中的一个错误导致其中一些值被保存为字符串,例如:

"Value One"

有没有办法只查询该列的文本/字符串类型,以便我可以解决错误条目?

【问题讨论】:

    标签: postgresql jsonb


    【解决方案1】:

    使用函数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) 
    

    【讨论】:

      猜你喜欢
      • 2020-02-20
      • 1970-01-01
      • 1970-01-01
      • 2022-01-12
      • 2014-02-13
      • 1970-01-01
      • 2017-05-26
      • 2017-06-25
      • 1970-01-01
      相关资源
      最近更新 更多