外包的项目,有很多信息存储在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