有沒有其他(更漂亮)的方式來完成以下任務?
我正在努力尋找一種將陣列的多個元素顯示為一個元素的方法。
我有一個 JSON 字串,看起來像這樣:
DECLARE @JSON nvarchar(max)
SELECT @JSON = N'{"firstNames": ["Bengt","Erik"]}'
我希望它的格式如下:
| firstNames |
| ---------- |
| Bengt Erik |
這種方法:
SELECT value as firstNames FROM OPENJSON (@JSON, '$.firstNames')
結果是
| firstNames |
| ---------- |
| Bengt |
| Erik |
所以我嘗試了:
SELECT REPLACE(REPLACE(REPLACE(REPLACE(value,',',' '),'"',''),'[',''),']','') as firstNames
FROM OPENJSON (@JSON, '$')
是的,它確實給了我想要的結果,但這可以通過其他方式完成嗎?
uj5u.com熱心網友回復:
您可以在收到名字后聚合它們:
SELECT STRING_AGG(value,' ') WITHIN GROUP (ORDER BY [key]) as firstNames
FROM OPENJSON (@JSON, '$.firstNames');
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/512201.html
