外包的项目,有很多信息存储在JSON中,无论是查询还是修改信息都十分麻烦。找了一些实用的SQL Function去解析,并附修改例子。
使用过程:
1. 需要在SQL新建自定义类型 table: Hierarchy;
2. 返回table: Hierarchy的自定义Function:parseJSON;
3 .根据需求新建返回值为NVARCHAR(MAX)的: To_Json或To_XML自定义Function。
最后结果如下:
--Update Json and Return Json
DECLARE @MyHierarchy Hierarchy,@xml XML
INSERT INTO @myHierarchy
select * from parseJSON('{
"联系人":
{
"姓名": "test",
"网名": "TEST",
"AGE": 26,
"G":M,
"PhoneNumbers":
{
"mobile":"0000000000000000",
"phone":"0000000000000000"
}
}
}
')
select * from @myHierarchy
update @myHierarchy set StringValue='Bai' where NAME='姓名'
SELECT dbo.ToXML(@MyHierarchy)
SELECT @XML=dbo.ToXML(@MyHierarchy)
SELECT @XML