如何解析SQL Server 2012中的json数据?

问题描述:

我正在使用sql server 2012.我已经分配了一个任务,其中一个表(Sample)的列(JsonText)包含json数据。我想解析该数据并插入另一个表的列(Test)。我在sql server 2016中支持net openjson搜索。如何在sql server2012中做。



表1:示例

Id JsonText Active


JsonText

webaddress?{'data':'{PId:XXXX,状态:是,姓名:XXX,地址:XXXX,MobileNumber:xxx}'}



我只对'PID,地址, MobileNumber的列不是全部。



这样的表测试结构

Id,PID,Address,MobileNumber



我尝试了什么:



我尝试使用openjson功能,但sql server 2012不支持。

I am using sql server 2012.I have been assigned a task where one of my column(JsonText) of table(Sample) contain json data.I want to parse that data and insert into columns of another table(Test).I searched on net openjson is supported in sql server 2016.How to do in sql server2012.

Table1 : Sample
Id JsonText Active

JsonText
webaddress?{'data':'{"PId": "XXXX","Status": "YES","Name":"XXX","Address":"XXXX","MobileNumber":"xxx"}'}

I am intrested only 'PID,Address,MobileNumber' columns not all.

Table Test structure like this
Id,PID,Address,MobileNumber

What I have tried:

I tried with openjson funtion but that is not supported in sql server 2012.

你需要一个自定义函数才能在2016年前版本的sql server上运行,看看这个编程示例:按SQL脚本解析JSON字符串 [ ^ ]及其出色的表现参考。
You will need a custom function in order to run on pre-2016 version of sql server, check out this Programming Example: Parse JSON String by SQL script[^] and its excellent references.


在SQL Server中使用JSON字符串 - 简单对话 [ ^ ]