hog*_*gar 1 sql t-sql json sql-server-2016
我有这个查询,我试图将查询输出存储到@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
Run Code Online (Sandbox Code Playgroud)
错误:
消息 156,级别 15,状态 1,第 11 行
关键字“AS”附近的语法不正确。
我怎样才能做到这一点?
按照 VBokši? 的链接,我将此查询作为答案:
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
Run Code Online (Sandbox Code Playgroud)
输出:
{"product":{"title":"Ball","color":"Blue","Options":[{"Opt1":"1","Opt2":"2"}]}}
Run Code Online (Sandbox Code Playgroud)