SQL Server/操作Json格式字段数据的方法
1 json存储
在sqlserver 中存储json ,需要用字符串类型进行存储,一般用nvarchar()或 varchar()进行存储,不要用text进行存储,用text时候,json的函数不支持。
2 json操作
主要介绍5个函数:
(1)openJson:打开Json字符串
(2)IsJson:判断一个字符串是不是合法的Json格式。是返回1,否返回0,null返回null。
(3)Json_Value:从Json字符串中提取值。
(4)Json_Query:Json字符串中提取对象或数组。
(5)Json_Modify:更新Json字符串中的属性值,并返回更新的Json字符串。
新建wm_json_demo 表:
CREATE TABLE demo_plus.dbo.wm_json_demo (
id int IDENTITY(1,1) NOT NULL,
json_detail varchar(max) NOT NULL,
CONSTRAINT PK_wm_json_demo PRIMARY KEY (id)
);
下面以wm_json_demo 为例,演示以上5个json操作相关的函数
INSERT INTO demo_plus.dbo.wm_json_demo (json_detail) VALUES('{"key":3,"value1":10,"value2":[{"vv21":13,"vv22":103}],"value3":null}');
INSERT INTO demo_plus.dbo.wm_json_demo (json_detail) VALUES('{"key":4,"value1":15,"value2":[{"vv21":13,"vv22":103}],"value3":"10"}');
INSERT INTO demo_plus.dbo.wm_json_demo (json_detail) VALUES('{"key":7,"value1":20,"value2":[{"vv21":13,"vv22":103}],"value3":"15"}');
IsJson:判断一个字符串是不是合法的Json格式。是返回1,否返回0,null返回null。
SELECT
IsJson(json_detail) as IsJson
from
demo_plus.dbo.wm_json_demo
Json_Value:从Json字段中提取值
Json_Query:Json字符串中提取对象或数组。
SELECT
JSON_VALUE(json_detail,'$.key') as 'key',
JSON_VALUE(json_detail,'$.value1') as value1,
JSON_value(json_detail,'$.value2') as value2,
JSON_QUERY(json_detail,'$.value2') as value2_query,
JSON_VALUE(json_detail,'$.value3') as value3
from demo_plus.dbo.wm_json_demo;
Json_Modify:更新Json字符串中的属性值,并返回更新的Json字符串。
JSON_MODIFY(column_name, ‘$.json_field’, ‘change_info’);
SELECT
JSON_MODIFY(json_detail,
'$.value1',
11) as json_detail
from
demo_plus.dbo.wm_json_demo
where
JSON_VALUE(json_detail,
'$.key')= 7;
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanfefbe
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
excel下划线不显示怎么办
PHP中文网 06-23 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
photoshop蒙版画笔没反应怎么办
PHP中文网 06-24