SQL स्तंभ जानकारी के बिना JSON के लिए SQL टेबल
Nov 26 2020
मैं JSON में तालिका डेटा पार्स करने का प्रयास कर रहा हूं और इस प्रक्रिया में JSON में पोस्ट रूपांतरण में तालिका स्तंभ नाम को छोड़ना चाहता हूं। नीचे नमूना स्निपेट है।
DECLARE @table1 TABLE (k1 nvarchar(max), v1 nvarchar(max))
-- Note k1 is unique
INSERT INTO @table1 (k1,v1) VALUES( 'Apple', 'One')
INSERT INTO @table1 (k1,v1) VALUES( 'Banana', 'Two')
INSERT INTO @table1 (k1,v1) VALUES( 'Orange', 'Three')
SELECT k1, v1 FROM @table1
FOR JSON PATH, WITHOUT_ARRAY_WRAPPER
--output: {"k1":"Apple","v1":"One"},{"k1":"Banana","v1":"Two"},{"k1":"Orange","v1":"Three"}
-- Expected: {"Apple","One"},{"Banana","Two"},{"Orange","Three"}
सराहना की दिशा!
जवाब
1 lptr Nov 27 2020 at 12:51
- चक्रण और एकत्रीकरण (string_agg) sql2017 के लिए और बाद में या xml पथ के लिए () sql2016 के लिए)
select string_agg(concat('{"', string_escape(k1, 'json'), '":"', string_escape(v1, 'json'), '"}'), ',') /*within group (order by k1)*/
from @table1