小编Arv*_*hra的帖子

将变量作为参数传递给 json_query 函数

我收到错误:

“JSON_VALUE 或 JSON_QUERY”的参数 2 必须是字符串文字

...同时尝试将变量作为参数传递给JSON_QUERY函数。请帮我解决它。

DECLARE @cnt INT = 1;
DECLARE @cnt_total INT = 1;
DECLARE @json NVARCHAR(MAX);
DECLARE @json1 NVARCHAR(MAX);
declare @str  VARCHAR(200);

WHILE @cnt <= 10
BEGIN
    set @str = '$.Seasons[0].Products['+convert(varchar,@cnt)+'].ProductChannels';
    set @str = char(39) +@str+ char(39);
    PRINT @STR
    select @json = json_query(jfile,@STR) from Import.tstjson;
--MORE CODE     
   SET @cnt = @cnt + 1;
END
Run Code Online (Sandbox Code Playgroud)

样本数据:

DECLARE @cnt INT = 1;
DECLARE @cnt_total INT = 1;
DECLARE @json NVARCHAR(MAX);
DECLARE @json1 NVARCHAR(MAX);
declare @str  VARCHAR(200); …
Run Code Online (Sandbox Code Playgroud)

sql-server t-sql json sql-server-2016

6
推荐指数
2
解决办法
7667
查看次数

标签 统计

json ×1

sql-server ×1

sql-server-2016 ×1

t-sql ×1