详解SQL Server 中 JSON_MODIFY 的使用
程序员文章站
2022-11-21 11:45:23
sql server 中 json_modify 的使用
intro
sql server 从 2016 开始支持了一些 json操作,最近的项目里也是好多地方字段直接存成了 js...
sql server 中 json_modify
的使用
intro
sql server 从 2016 开始支持了一些 json操作,最近的项目里也是好多地方字段直接存成了 json,需要了解一下怎么在sql server 中操作 json.
json支持适用于 sql server 2016 及以上版本 和 azure sql database。
最近在项目中很多地方字段都是存一个 json
字符串,尤其是针对一些有很多不确定的属性的数据来说,这样的信息我们一般都放在一个 extra
之类的字段保存一个 json
字符串,由于不确定性很大,很有可能会遇到要修改这个 json
字符串结构的问题,在修改 json
对象的某一个值和修改 json
的结构时都会用到 json_modify
,今天就来介绍一下 json_modify
的使用
示例
直接来看示例:
-- 适用 append 在数组中追加元素 print json_modify(@testjsonvalue, 'append $.skills', 'azure'); -- 无效用法,这样会把属性更新为字符串 print json_modify(@testjsonvalue, '$.skills', '["c#","t-sql","azure"]'); -- 修改数组 print json_modify(@testjsonvalue, '$.skills', json_query('["c#","t-sql","azure"]')); -- 修改数组某个元素 print json_modify(@testjsonvalue, '$.skills[0]', 'csharp'); -- 增加属嵌套 print json_modify(@testjsonvalue, '$.likes', json_query('{"girl": "alice"}')); print json_modify(@testjsonvalue, '$.likes', json_query('{"animals": ["dog","cat"]}')); -- 增加 bool 属性 print json_modify(@testjsonvalue, '$.showawardsafterquizends', convert(bit, 'false')); print json_modify(@testjsonvalue, '$.showawardsafterquizends', convert(bit, 1)); -- 增加 int 属性 print json_modify(@testjsonvalue, '$.totalwinnerscount', convert(int, '20')); print json_modify(@testjsonvalue, '$.totalwinnerscount', 20); -- 删除属性 print json_modify(@testjsonvalue, '$.name', null);
输出结果如下图:
more
注意:
- 如果要更新的字段没有是一个 json 对象或是一个数组,那么需要使用
json_query
,否则更新的对应的属性就成了字符串了。 - 如果是要删除某一个属性,把某一个属性更新为
null
即可 - 如果要增加一个 bool 类型的属性,需要把对应的值转换为 bit 类型
reference
总结
以上所述是小编给大家介绍的sql server 中 json_modify 的使用,希望对大家有所帮助
推荐阅读
-
详解Django缓存处理中Vary头部的使用
-
Java中==符号与equals()的使用详解(测试两个变量是否相等)
-
详解Python中映射类型(字典)操作符的概念和使用
-
在SQL Server中使用SQL语句查询一个存储过程被其它所有的存储过程引用的存储过程名
-
多列复合索引的使用 绕过微软sql server的一个缺陷
-
SQL Server中的执行引擎入门 图解
-
SQL Server中通过reverse取某个最后一次出现的符号后面的内容(字符串反转)
-
详解HTML5中的Communication API基本使用方法
-
详解iOS中UIView的layoutSubviews子视图布局方法使用
-
Android 中RxPermissions 的使用方法详解