SQL Server中如何展开数组?已尝试OPENJSON未成功
拆分JSON数组为多行记录
假设你的表名为test_table,可以使用OPENJSON结合CROSS APPLY实现数组拆分,正确的SQL语句如下:
SELECT t.id, j.value AS my_array FROM test_table t CROSS APPLY OPENJSON(t.my_array) j
关键说明:
OPENJSON(t.my_array)会把字段里的JSON数组解析成带value列的结果集,数组中的每个元素对应一行数据CROSS APPLY负责将原表的每一行,和解析后的数组行做关联,最终得到展开后的多行结构
只要你的my_array字段是合法的JSON格式(哪怕存储的是字符串类型),这条语句都能正常生效。
内容的提问来源于stack exchange,提问作者Alex K
相关产品推荐
相关产品推荐

