目录1 json存储2 json操作3其他总结
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。
SELECTIsJson(json_detail) as IsJsonfromdemo_plus.dbo.wm_json_demo
Json_Value:从Json字段中提取值
用法:Json_Value (cloumn_name,’$.json_field_name’) from table
Json_Query:Json字符串中提取对象或数组。
用法:Json_Query (cloumn_name,’$.json_field_name’) from table
SELECTJSON_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 value3from demo_plus.dbo.wm_json_demo;
Json_Modify:更新Json字符串中的属性值,并返回更新的Json字符串。
JSON_MODIFY(column_name, ‘$.json_field’, ‘change_info’);
SELECTJSON_MODIFY(json_detail,\’$.value1\’,11) as json_detailfromdemo_plus.dbo.wm_json_demowhereJSON_VALUE(json_detail,\’$.key\’)= 7;
3其他
这里附上官网地址,有兴趣的小伙伴可以去看看:https://docs.microsoft.com/en-us/sql/relational-databases/json/json-data-sql-server?view=sql-server-ver15
总结
到此这篇关于SQL Server解析/操作Json格式字段数据的文章就介绍到这了,更多相关SQLServer解析操作Json内容请搜索悠久资源以前的文章或继续浏览下面的相关文章希望大家以后多多支持悠久资源!
您可能感兴趣的文章:SQL Server中将查询结果转换为Json格式脚本分享SQL Server之JSON 函数详解SQL Server中JSON函数的用法详解