JSON を列の 1 つに格納する SQL Server データベースのテーブルがあります。構造は次のとおりです。
テーブルパーソン
| Name | ExtraInfo |
|--------|:------------------------------------------:|
| Bob | {"Age":"23","Colors":["Red","Blue"]} |
| James | {"Age":"26","Colors":["Green","Yellow"]} |
このクエリを実行すると:
select
Json_value(ExtraInfo,'$.Age') as Age,
json_query(ExtraInfo, '$.Colors') as Colors
from Persons
私はこのようなものを得るでしょう:
| Age |Colors |
|-----|:-------------------|
| 23 | ["Red","Blue"] |
| 26 | ["Green","Yellow"]|
ただしColors
、JSON 配列のプロパティを次のnvarchar
ようにスペース文字で連結された配列のすべての値を持つ列に変換する必要があります。
| Age | Colors |
|-----|:-------------|
| 23 | Red Blue |
| 26 | Green Yellow |
単一の SQL クエリでこれを達成するために、複数の呼び出しjson_query
または他の同様のアプローチを構成できる方法はありますか?