我有一个 json 输入,其中 A 列的方括号之间有数据值
我需要将 A 列的内容拆分为单独的列
输入:
我需要将数据分成
SPLIT 不可用。 请建议我是否可以使用交叉应用来实现这一点?子串?字符索引? A 列方括号中的值可能会改变,有些行可能有 4 个,有些行可能有 2 个等等。
输入数据似乎不是Json。如果您的数据是逗号分隔的数组值,您可以使用 cross apply 并将每个值转换为单独的行。然后您可以使用 substring 函数将它们转换为单独的列。
查询:
select
substring(Rowvalue.arrayvalue,2,1) as col1,
substring(Rowvalue.arrayvalue,4,1) as col2,
substring(Rowvalue.arrayvalue,6,1) as col3
from input i
CROSS APPLY GetArrayElements(i.SensorReadings.columnA) AS Rowvalue
输入数据:
输出数据: