SQL - 如何将 JSON_QUERY 输出存储到变量
SQL - How to store JSON_QUERY output to variable
我在这个查询中尝试将查询输出存储到 @json
变量中,但出现语法错误
DECLARE @json NVARCHAR(MAX)
SELECT @json = (JSON_QUERY((SELECT
'Ball' AS title,
'Blue' AS color,
(SELECT
'1' AS Opt1,
'2' AS Opt2
FOR JSON PATH) AS Options
FOR JSON PATH, WITHOUT_ARRAY_WRAPPER)) AS Product
FOR JSON PATH, WITHOUT_ARRAY_WRAPPER;)
SELECT @json
错误:
Msg 156, Level 15, State 1, Line 11
Incorrect syntax near the keyword 'AS'.
我该怎么做?
在 VBokšić 的 link 之后,我将此查询作为答案:
DECLARE @json NVARCHAR(MAX)
SET @json = (SELECT (JSON_QUERY((
SELECT 'Ball' AS title,
'Blue' AS color, (
SELECT '1' AS Opt1,
'2' AS Opt2
FOR JSON PATH
) AS Options
FOR JSON PATH, WITHOUT_ARRAY_WRAPPER
))) AS product
FOR JSON PATH, WITHOUT_ARRAY_WRAPPER)
SELECT @json
输出:
{"product":{"title":"Ball","color":"Blue","Options":[{"Opt1":"1","Opt2":"2"}]}}
我在这个查询中尝试将查询输出存储到 @json
变量中,但出现语法错误
DECLARE @json NVARCHAR(MAX)
SELECT @json = (JSON_QUERY((SELECT
'Ball' AS title,
'Blue' AS color,
(SELECT
'1' AS Opt1,
'2' AS Opt2
FOR JSON PATH) AS Options
FOR JSON PATH, WITHOUT_ARRAY_WRAPPER)) AS Product
FOR JSON PATH, WITHOUT_ARRAY_WRAPPER;)
SELECT @json
错误:
Msg 156, Level 15, State 1, Line 11
Incorrect syntax near the keyword 'AS'.
我该怎么做?
在 VBokšić 的 link 之后,我将此查询作为答案:
DECLARE @json NVARCHAR(MAX)
SET @json = (SELECT (JSON_QUERY((
SELECT 'Ball' AS title,
'Blue' AS color, (
SELECT '1' AS Opt1,
'2' AS Opt2
FOR JSON PATH
) AS Options
FOR JSON PATH, WITHOUT_ARRAY_WRAPPER
))) AS product
FOR JSON PATH, WITHOUT_ARRAY_WRAPPER)
SELECT @json
输出:
{"product":{"title":"Ball","color":"Blue","Options":[{"Opt1":"1","Opt2":"2"}]}}