Intro

Sql Server 从 2016 开始支持了一些 json 操作,最近的项目里也是好多地方直接用字段直接存成了 json ,需要了解一下怎么在 Sql Server 中操作 JSON.

JSON支持适用于 SqlServer 2016 及以上版本 和 Azure SQL Database。

SqlServer 中内置了一些 JSON 相关的方法:

可以判断一段字符串是否是标准的 json(ISJSON)

可以直接查询数据成 json 格式(FOR JSON PATH) 类似于之前的查询一个 xml (FOR XML PATH),

查询一个 json 对象的值(JSON_VALUE)

查询一个 json 数组值

更新一段JSON的内容,修改 JSON 对象里的属性值,删除 JSON 对象里的某一个属性,增加属性

解析一段 json 内容 (OPENJSON)

JSON 操作

JSON 存储

数据库里 JSON 存储一般用 NVARCHAR(MAX) 类型来保存,如果一定是 JSON 形式的数据可以设置一个约束,可以通过 ISJSON 来给字段加约束,详情参考

JSON 属性加索引

要给 JSON 对象的某个属性加字段时,需要增加一个虚拟的列,然后在这个列中建立一个索引。CopyALTER TABLE Sales.SalesOrderHeaderADD vCustomerName AS JSON_VALUE(Info,'$.Customer.Name')CREATE INDEX idx_soh_json_CustomerNameON Sales.SalesOrderHeader(vCustomerName)

JSON 基本操作Copy{    "name": "小明",    "info": {        "address": {            "province": "河南省",            "city": "郑州市",            "district": "郑东新区"

},        "hobbies": [            "篮球",            "足球",            "乒乓球"

]

}

}Copy-- 查询某一属性值SET @name = JSON_VALUE(@jsonInfo, '$.name');SET @city = JSON_VALUE(@jsonInfo, '$.info.address.city');-- 查询数组SET @hobbies = JSON_QUERY(@jsonInfo, '$.info.hobbies');-- 增加属性 tempPropSET @jsonInfo = JSON_MODIFY(@jsonInfo, 'tempProp', 1);-- 删除属性 tempPropSET @jsonInfo = JSON_MODIFY(@jsonInfo, 'tempProp', null);

Reference

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

sqlserver慕课_SqlServer 操作 JSON相关推荐

  1. nodejs操作sqlserver数据_pyspark操作MySQL、SQLServer数据库进行数据处理操作

    欢迎访问本人的CSDN博客[Together_CZ],我是沂水寒城. https://yishuihancheng.blog.csdn.net 在大数据处理领域里面,Hadoop和spark可以说是最 ...

  2. python2 json大数据_大数据技术之python 操作json

    本篇文章探讨了大数据技术之python 操作json,希望阅读本篇文章以后大家有所收获,帮助大家对相关内容的理解更加深入. #!/usr/bin/env python import json s = ...

  3. Java操作json的通用类

    2019独角兽企业重金招聘Python工程师标准>>> 提供一个Java中操作JSON格式的公共类: JSON(JavaScript Object Notation) 是一种轻量级的 ...

  4. js之操作JSON数据

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式.同时,JSON是 JavaScript 原生格式,这意 ...

  5. Python操作Json、Csv、Excel文件

    一.Python操作Json文件 import json# json中使用双引号 data={'aa':11,'bb':22,'cc':'33' } # 字典转化json print(json.dum ...

  6. php 操作json的各种格式

    php中操作json的函数加密:json_encode() ,也就是把数据转成json格式 * 数组转换成json格式时,索引数组得出的结果是不带映射关系,所以都是[]:关联数组是映射,所以最外围是{ ...

  7. MySQL/sqlserver查询in操作 查询结果按in集合顺序显示

    2019独角兽企业重金招聘Python工程师标准>>> MySQL/sqlserver查询in操作 查询结果按in集合顺序显示 MySQL用下面的语句 select * from i ...

  8. php json 默认值,php操作JSON格式数据的实现代码

    知识点: 1.JSON数据格式介绍 2.对数据编码成JSON格式 3.对JSON数据进行解码,并操作 JSON数据格式表示方式如下: { "programmers": [ { &q ...

  9. sqlrowset 转化为json_Python 操作 JSON 的 9 个示例

    Python 操作 JSON 的 9 个示例 Json(JavaScript Object Notation 的缩写)是一种数据交换格式,最常用于客户端-服务器通信:当然你也可以将它保存到本地,所以也 ...

最新文章

  1. 下怎么运行sh脚本_基于CentOS7系统添加自定义脚本服务及参数说明,附实例
  2. 用上Pytorch Lightning的这六招,深度学习pipeline提速10倍!
  3. 1. spring boot起步之Hello World【从零开始学Spring Boot】
  4. ZooKeeper伪分布式集群安装
  5. lower_bound()、upper_bound()
  6. amd显卡风扇调节_和AMD首席游戏架构师Frank Azor聊聊RX 6000系列显卡那些事儿
  7. java 静态变量生命周期(类生命周期)
  8. python安装方法3.8.2_Linux安装Python3.8.1的教程详解
  9. 获取系统时间出错oracle-,oracle 获取系统时间(转)
  10. 老张 .NetCore与Vue 框架学习
  11. NSDictionary / NSMutableDictionary 及 NSArray / NSmutableArray (实例)
  12. 分页池内存持续增长_鸿蒙内核源码分析(从进程/线程视角看内存)
  13. 关于HTML5中Video标签无法播放mp4的解决办法
  14. Django + Uwsgi + Nginx 实现生产环境部署1
  15. 如何检测VC运行库是否安装
  16. ANSYS 有限元分析 命令流 实例
  17. 如何注册ocx文件。。。
  18. java数据流编辑 kylo,Kylo的安装
  19. 30分钟java桌球小游戏_30分钟完成桌球小游戏项目
  20. 抖音python真的那么好吗_python看抖音用户画像,摩羯天蝎居然刷得最多?

热门文章

  1. Netty Java快速指南
  2. java 使用本机代理_Java与本机代理–他们所做的强大功能
  3. 轻松地与Java完全集成
  4. 将可见的电子签名添加到PDF
  5. Spring Cloud Netflix尤里卡
  6. 配置HTTPS以与Servlet一起使用
  7. 坚实原则:依赖倒置原则
  8. stackexchange_通过Spring Social发推StackExchange问​​题
  9. 十大有用但又偏执的Java编程技术
  10. 使用Spring Integration进行消息处理