从json提取array ,实现json炸裂函数
兼容级别不支持openjson,只能自主实现功能了
-
使用方法,mssql炸裂函数
SELECT Id,item
FROM temp031_t
CROSS APPLY [dbo].getJsonArray -
函数
CREATE FUNCTION [dbo].[getJsonArray]
(
@str nvarchar(max),
@dpath nvarchar(20)
)
RETURNS @splitstringstable TABLE
(
[item] nvarchar(200)
)
AS
BEGIN
--declare @s varchar(1000)='{"a":["1","2","3"],"b":["b1","b2"]}';
declare @s1 nvarchar(max)=replace(JSON_QUERY(@str,@dpath),'"','');insert into @splitstringstable
SELECT [item]
FROM split( substring(@s1,2,len(@s1) -2) , ',') a;RETURN
END

浙公网安备 33010602011771号