我有有一個JSON列「JsonVal」 &其他一些列格式只有查詢結果JSON在SQL Server
Name Id Group JsonVal
----------------------------------------------------------
Name1 2 gg1 {"LogLevel":"2", "InfoLevel":"3"}
Name2 3 gg5 {"LogLevel":"4"}
在JsonVal解析,使數據的意義後一個SQL表X的一部分專欄中,我想從表X讀這樣,我得到的結果是這樣的方式我想, :
Name Id Features
----------------------------------------------------------
Name1 2 {"HasLogLevel":"True", "LogLevel":"2", "HasInfoLevel":"True"}
Name2 3 {"HasLogLevel":"True", "LogLevel":"4", "HasInfoLevel":"False"}
我不能找到一種方法,只是我列JSON的一部分轉換。 如果我在這樣的查詢做JSON:
SELECT Name,Id,
HasLogLevel = CASE WHEN JSON_VALUE(JsonVal,'$."LogLevel"') IS NOT NULL THEN 'True' ELSE 'False' END,
LogLevel = CASE WHEN JSON_VALUE(JsonVal,'$."LogLevel"') IS NULL THEN 'NO-VALUE' ELSE JSON_VALUE(JsonVal,'$."LogLevel"') END,
HasInfoLevel = CASE WHEN JSON_VALUE(JsonVal,'$."InfoLevel"') IS NOT NULL THEN 'True' ELSE 'False' END
FROM X FOR JSON PATH
它把所有的列(包括姓名,身份證)到JSON。但我只想在結果中將3列HasLogLevel,LogLevel和HasInfoLevel格式化爲JSON
有沒有一種方法可以在單個查詢中以我想要的方式在SQL Server中查詢和獲取結果?
你的情況是什麼?也許你可以用Python查詢Azure SQL數據庫並從那裏生成新的JSON字符串。 –
@EstienneGranet由於限制,我只能使用T-SQL。你知道通過查詢來達到這個目的嗎? – Alfan