SQL Server JSON 数据操作

这篇具有很好参考价值的文章主要介绍了SQL Server JSON 数据操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

使用内置函数 (SQL Server) 验证、查询和更改 JSON 数据 
使用 OPENJSON 分析和转换 JSON 数据 (SQL Server)   

1、JSON 内置函数
ISJSON 测试字符串是否包含有效 JSON。
JSON_VALUE 从 JSON 字符串中提取标量值。
JSON_QUERY 从 JSON 字符串中提取对象或数组。
JSON_MODIFY 更新 JSON 字符串中属性的值,并返回已更新的 JSON 字符串。

2、示例 JSON 文本

{
  "id": "WakefieldFamily",
  "parents": [
    {
      "familyName": "Wakefield",
      "givenName": "Robin"
    },
    {
      "familyName": "Miller",
      "givenName": "Ben"
    }
  ],
  "children": [
    {
      "familyName": "Merriam",
      "givenName": "Jesse",
      "gender": "female",
      "grade": 1,
      "pets": [
        {
          "givenName": "Goofy"
        },
        {
          "givenName": "Shadow"
        }
      ]
    },
    {
      "familyName": "Miller",
      "givenName": "Lisa",
      "gender": "female",
      "grade": 8
    }
  ],
  "address": {
    "state": "NY",
    "county": "Manhattan",
    "city": "NY"
  },
  "creationDate": 1431620462,
  "isRegistered": false
}

3、新建表,插入测试数据

CREATE TABLE Families (
   id int identity constraint PK_JSON_ID primary key,
   doc nvarchar(max)
)

INSERT INTO [dbo].[Families] ([doc]) VALUES ('{"id":"WakefieldFamily","parents":[{"familyName":"Wakefield","givenName":"Robin"},{"familyName":"Miller","givenName":"Ben"}],"children":[{"familyName":"Merriam","givenName":"Jesse","gender":"female","grade":1,"pets":[{"givenName":"Goofy"},{"givenName":"Shadow"}]},{"familyName":"Miller","givenName":"Lisa","gender":"female","grade":8}],"address":{"state":"NY","county":"Manhattan","city":"NY"},"creationDate":1431620462,"isRegistered":false}')
GO

INSERT INTO [dbo].[Families] ([doc]) VALUES ('{"id":"WakefieldFamily","parents":[{"familyName":"Wakefield","givenName":"Robin"},{"familyName":"Miller","givenName":"Ben"}],"children":[{"familyName":"Merriam","givenName":"Jesse","gender":"female","grade":1,"pets":[{"givenName":"Goofy"},{"givenName":"Shadow"}]},{"familyName":"Miller","givenName":"Lisa","gender":"female","grade":8}],"address":{"state":"NY","county":"Manhattan","city":"NY"},"creationDate":1431620462,"isRegistered":false}')
GO

INSERT INTO [dbo].[Families] ([doc]) VALUES ('{"id":"WakefieldFamily","parents":[{"familyName":"Wakefield","givenName":"Robin"},{"familyName":"Miller","givenName":"Ben"}],"children":[{"familyName":"Merriam","givenName":"Jesse","gender":"female","grade":1,"pets":[{"givenName":"Goofy"},{"givenName":"Shadow"}]},{"familyName":"Miller","givenName":"Lisa","gender":"female","grade":8}],"address":{"state":"NY","county":"Manhattan","city":"NY"},"creationDate":1431620462,"isRegistered":false}')
GO

4、使用 JSON_VALUE 函数从 JSON 文本中提取值

SELECT JSON_VALUE(f.doc, '$.id')  AS Name, 
       JSON_VALUE(f.doc, '$.address.city') AS City,
       JSON_VALUE(f.doc, '$.address.county') AS County
FROM Families f 
WHERE JSON_VALUE(f.doc, '$.id') = N'AndersenFamily'
ORDER BY JSON_VALUE(f.doc, '$.address.city') DESC, JSON_VALUE(f.doc, '$.address.state') ASC

5、使用 JSON_QUERY 函数从 JSON 文本中提取对象或数组

SELECT JSON_QUERY(f.doc, '$.address') AS Address,
       JSON_QUERY(f.doc, '$.parents') AS Parents,
       JSON_QUERY(f.doc, '$.parents[0]') AS Parent0
FROM Families f 
WHERE JSON_VALUE(f.doc, '$.id') = N'AndersenFamily'

*
*
*文章来源地址https://www.toymoban.com/news/detail-566891.html

到了这里,关于SQL Server JSON 数据操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Flink SQL 解析嵌套的 JSON 数据

    下面将会演示如何在 DDL 里面定义 Map、Array、Row 类型的数据,以及在 SQL 里面如何获里面的值。 数据格式如下: 上面的数据包含了 Map、Array、Row 等类型, 对于这样的数据格式,在建表 DDL 里面应该如何定义呢? 定义 DDL 解析 SQL SQL 运行的结果 以如下数据作为样例: 定义 获取 构造

    2024年02月10日
    浏览(31)
  • 4.5 Spark SQL 处理JSON数据

    4.1 Spark SQL概述 4.2 Spark SQL DataFrame 编程操作大全 (超详细)

    2024年02月02日
    浏览(40)
  • 使用Mock.js和json server快速生成前端测试数据

    下面演示的是我总结的一个使用示例,帮助大家参考学习,看完后,如果大家有其他需求,可以参考Mock.js 的官方文档,需要生成哪些格式的数据,复制样例代码即可,本案例重在演示如何使用Mock.js和json server自动生成前端开发测试用的接口数据。 先创建一个项目文件夹,取

    2023年04月08日
    浏览(24)
  • 『前端必备』本地数据接口—json-server 详细介绍(入门篇)

    目录 前言  一、Node环境搭建 1-1 简介 1-2 Node.js环境搭建 1-2-1 下载 1-2-2 安装 1-2-3 验证 1-3 npm简介 二、json-server环境搭建 2-1 简介 2-2 安装 2-3 创建数据库 2-4 启动 ​编辑 2-5 查看 三、操作数据 3-1 查(get) 3-2 增(post) 3-3 删(delete) 3-4 改(put 和 patch) Ajax 是前端必学的一个知

    2024年02月05日
    浏览(35)
  • postgresql json数据操作

    pg支持json数据操作,2种类型json jsonb postgresql json jsonb 2种数据类型区别 中文解释 PostgreSQL提供了两种数据类型来存储JSON数据: JSON 和 JSONB 。下面是它们之间的区别: JSON: JSON 数据类型在PostgreSQL中将JSON数据按原样存储,不进行额外的处理。它会验证JSON语法,但不强制执行任

    2024年02月15日
    浏览(26)
  • 如何用SQL取出字段内是json体的数据

    数据库中会遇到字段里面存的JSON结果的数据,那么如果我们想直接取到JSON里的值该怎么办呢?其实SQL自带的函数就可解决 假如现在有表TableA,其中一个字段叫info,字段内容如下: 使用JSON_EXTRACT()函数取出name的话,写法如下: 但取值有一个问题,就是取出来如果是字符串,

    2024年02月10日
    浏览(23)
  • 大数据技术之Spark SQL——解析JSON字符串

    目录 一、数据准备 1)Department  2)School 3)Student 4)Teacher 5)实例化对象 结构如下: 二、加载数据 数据展示  三、日志数据加载 输出结果  sc.textFile读取数据源,并对结构化数据进行拆分           同样的,除了json格式字符串,我们也可以用类似的方法来加载日志数据。

    2024年02月04日
    浏览(36)
  • SQL中批量替换数据:REPLACE()、JSON_REPLACE()

    文本编辑器中有批量替换的功能,那么SQL中也可以实现批量替换数据,以下两个函数: REPLACE() JSON_REPLACE() 定义: 释义: 在字符串str中查找子字符串from_str并用另一个字符串to_str替换它 下面是一个示例: 假设我们有一个名为 mytable的表 ,其中包含一个 名为content的字段 ,其

    2024年02月11日
    浏览(40)
  • Python 读取 JSON 数据的骚操作

    你想读写 JSON(JavaScript Object Notation) 编码格式的数据。 json 模块提供了一种很简单的方式来编码和解码 JSON 数据。 其中两个主要的函 数是 json.dumps() 和 json.loads() 下面演示如何将一个 Python 数据结构转换为 JSON 下面演示如何将一个 JSON 编码的字符串转换回一个 Python 数据结构:

    2023年04月23日
    浏览(34)
  • Java 操作XML转JSON数据格式

    1、SAXReader加载XML文件,创建DOM文档对象 ①、调用SAXReader.read(File file)方法 阐述: 【注释意思】:从给定的文件参数中读取文档: 1、file–是要读取的文件。 2、返回:新创建的Document实例 3、抛出:DocumentException–如果在解析过程中发生错误 【执行步骤】: 1、使用new InputSo

    2024年02月06日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包