【问题标题】:Sql query for data stored as JSON对存储为 JSON 的数据的 Sql 查询
【发布时间】:2018-05-23 01:14:50
【问题描述】:

我将数据以 JSON 格式存储在列中,如下所示:

{"category":{"value":CAT, "demo":A.......

我想在 SSMS 中查询并希望得到如下输出:

我尝试了“SELECT JSON_QUERY(TABLENAME,'$.CATEGORY') FROM TABLENAME”,它给出了

的结果

{"value":CAT, "demo":A....... 但我只想要 CAT。我该怎么做?

【问题讨论】:

    标签: javascript sql json sql-server


    【解决方案1】:

    使用 JSON_VALUE 获取特定值。

    SELECT JSON_VALUE(TABLENAME,'$.CATEGORY.VALUE') AS Value
    

    JSON_QUERY 用于 JSON 片段。

    Source

    【讨论】:

      【解决方案2】:

      您应该使用 JSON_VALUE。

      SELECT JSON_VALUE(ColumnName, '$.category.value') FROM TableName
      

      注意第一个参数,它应该是列名,而不是表名(与您的示例相反)。

      【讨论】:

      • 你确定你有一个有效的 JSON 字符串吗?我可以在您的示例中看到 category.value = CAT。这应该用双引号“CAT”括起来。
      • 抱歉,实际数据有 {"category":{"value":"CAT", "demo":"A".......
      猜你喜欢
      • 1970-01-01
      • 2019-11-29
      • 1970-01-01
      • 2020-11-07
      • 1970-01-01
      • 1970-01-01
      • 2023-03-29
      • 2020-11-29
      • 1970-01-01
      相关资源
      最近更新 更多