关于SQL Server 2017中使用json传参时解析遇到的多层解析问题
开发新的系统,DB部分使用了SQL Server从2016版开始自带的Json解析方式。
用了快半年,在个人项目,以及公司部分项目上使用了,暂时还没遇到大的问题,和性能问题。
今天在解析Json的多级参数遇到了点小问题,在此记录一下:
传参内容如下:
1 declare @json varchar(max)=N'{"Customer":36,"Positions":[{"ID":0,"Quantity":180000,"Files":[180,177,175,172,170,169,167,164,161,162,159,158,153,152]}]}';
想解析出Positions里面的Files,但是一直报错,或者NULL。
查询文档,发现这种解析需要制定的字段类型,并准成json才行。
解析的SQL Script如下:
1 select ID, Quantity, FileID=f.value 2 from openjson (@json, '$.Positions') 3 with ( 4 ID int, 5 Quantity int, 6 Files nvarchar(max) '$.Files' as json 7 ) x 8 cross apply openjson(x.Files, '$') f
*注:其中第6行的写法是固定的:字段类型及后面的。
关于SQL Server 2017中使用json传参时解析遇到的多层解析问题相关推荐
- 在SQL Server 2017中使用Python进行数据插值和转换
As a continuation to my previous article, How to use Python in SQL Server 2017 to obtain advanced da ...
- 如何在SQL Server 2017中实现图形数据库
介绍 (Introduction) Graph database 图形数据库 A graph database is a type of database whose concept is based ...
- sql查询禁用缓存_如何在SQL Server 2017中启用和禁用身份缓存
sql查询禁用缓存 Every data warehouse developer is likely to appreciate the significance of having surrogat ...
- SQL Server 2017中的Python:增强的数据库内机器学习
Microsoft SQL Server是一款优秀的关系型数据库管理系统,Python是目前流行的数据科学语言之一,拥有丰富的库生态系统.从SQL Server 2017的CTP 2.0版本开始,可以 ...
- python中引入sql的优点_SQL Server 2017中的Python:增强的数据库内机器学习
Microsoft SQL Server是一款优秀的关系型数据库管理系统,Python是目前流行的数据科学语言之一,拥有丰富的库生态系统.从SQL Server 2017的CTP 2.0版本开始,可以 ...
- sql server新增列_SQL Server 2017中的新增功能
sql server新增列 SQL Server 2017 is considered a major release in the history of the SQL Server life cy ...
- sql中截取字符串函数_SQL Server 2017中的顶级SQL字符串函数
sql中截取字符串函数 SQL Server 2017 has been in the talk for its many features that simplify a developer's l ...
- 用SQL Server 2017图形数据库替换数据仓库中的桥表
Just like in Santa's Bag of Goodies, every release of SQL Server often has something for everyone – ...
- 在SQL Server 2017上充分利用Python
介绍 (Introduction) One of the new features announced with SQL Server 2017 is support for the Python l ...
最新文章
- ASP.NET页面错误处理
- iOS动画开发之五——炫酷的粒子效果
- 【每日算法】C语言8大经典排序算法(2)
- python挖长尾词 源码,如何用代码挖局长尾关键词
- Android ViewPager
- android 固定大小,android 固定大小取图片缩略图
- Spring框架:跨域问题之使用@CrossOrigin注解解决失败的原因总结
- python能做什么工作-学python后能找什么工作?Python是什么?
- 使用HTML5里的classList操作CSS类
- MySQL必知必会——数据库基础知识和MySQL基本使用
- 电子书 “已取消到该网页的导航”或“导航已取消”解决方法
- 【数据库】一对一、一对多、多对多关系
- PS~了解PS的第一步,基本操作
- 计算机课 - 计算机科学导论
- linux ipa 权限管理,FreeIPA增加Linux用户及sudo权限
- 51单片机——电子密码锁
- redis 生成订单号学习
- Windows 7下直接开启AHCI
- 全景合成软件PTGui如何操作?主要功能有哪些?
- 基于Java毕业设计菜谱宣传系统源码+系统+mysql+lw文档+部署软件
热门文章
- 数据库设计规范之对象设计使用规范
- 客户区和非客户区指的什么?窗口客户区和视图客户区的区别
- 使用OpenMP实现多线程,不仅是用在循环处理上
- python中string.digits_python学习笔记五:字符串方法
- 正在搜索需要的文件_装机必备!分享4个电脑软件,3分钟搞定文件管理难题!...
- iOS 11开发教程(四)iOS11模拟器介绍一
- 分享Kali Linux 2017年第30周镜像文件
- java程序无法连接redis_无法使用jedis连接到redis
- sqlyog怎么设置默认值_详细讲解如何用SQLyog来分析MySQL数据库
- html增加删除线,HTML如何添加删除线?