Duh*_*uha 4 sql sql-server json
我想从SQL Server 2012中读取Json数据,我知道它将支持在SQL Server 2016中读取Json数据,但我现在需要一种解决方法来阅读它.
我有一个Text这个Json代码的列:
{"en": "Green", "ar": "????"}
Run Code Online (Sandbox Code Playgroud)
我想要一个过程或函数给它语言前缀并返回给我值.
如果您在SQL Server 2012中寻找表格和表格到JSON的通用SQL Server JSON,本文提供了一个parseJSON和一个dbo.ToJSON函数.使用此代码,您可以运行以下代码:
select * from dbo.parseJSON('
{
"en": "Green",
"ar": "????"
}
')
Run Code Online (Sandbox Code Playgroud)
此查询将返回
element_id | sequenceNo | parent_Id | Object_ID | Name | StringValue | ValueType
-----------+------------+-----------+-----------+------+-------------+-----------
1 | 0 | 1 | NULL | en | Green | string
2 | 0 | 1 | NULL | ar | ???? | string
3 | 1 | NULL | 1 | - | | object
Run Code Online (Sandbox Code Playgroud)
如果表中的某个列是JSON文档,则可以使用CROSS APPLY:
create table dbo.test(ID int identity(1,1) , json varchar(max))
insert into dbo.test (json)
select '
{
"en": "Green",
"es": "Verde"
}
'
insert into dbo.test (json)
select '
{
"en": "Red",
"es": "Rojo"
}
select * from dbo.test t
cross apply (select * from dbo.parseJSON(json)) details
Run Code Online (Sandbox Code Playgroud)
这将返回以下输出:
| 归档时间: |
|
| 查看次数: |
7749 次 |
| 最近记录: |