我在 SQL Server 数据库中有一个表,它将 JSON 存储在它的一个列中。结构如下:
表人
| 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 |
有什么方法可以组合多个调用json_query
或其他类似方法在单个 SQL 查询中完成此操作?