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_Value (cloumn_name,’$.json_field_name’) from table
- Json_Query:Json字符串中提取对象或数组。
用法:Json_Query (cloumn_name,’$.json_field_name’) from table
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;

3其他
这里附上官网地址,有兴趣的小伙伴可以去看看:
https://docs.microsoft.com/en-us/sql/relational-databases/json/json-data-sql-serverview=sql-server-ver15
最后
深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
小编已加密:aHR0cHM6Ly9kb2NzLnFxLmNvbS9kb2MvRFVrVm9aSGxQZUVsTlkwUnc==出于安全原因,我们把网站通过base64编码了,大家可以通过base64解码把网址获取下来。
本文介绍了在SQL Server中如何存储和操作Json格式的数据,包括使用nvarchar()存储、IsJson函数判断Json格式、Json_Value提取值、Json_Query提取对象或数组、Json_Modify更新Json属性值。并提供了一个wm_json_demo表作为示例,详细讲解了各函数的用法。最后给出了官方文档链接以供深入学习。

601

被折叠的 条评论
为什么被折叠?



