У меня есть некоторые значения json, поступающие из источника данных IOT для потоковой аналитики. Они хотят изменить json в более поздней версии, чтобы иметь дополнительные поля, но более старые версии не будут иметь этих полей. Есть ли способ, которым я могу определить, что поле отсутствует, и установить для него значение по умолчанию, прежде чем оно попадет на выход? например, они хотели бы добавить e.OSversion, который, если он не существует, по умолчанию будет «неизвестно». Выходные данные - это база данных sql.
WITH MetricsData AS
(
SELECT * FROM [MetricsData]
PARTITION BY LID
WHERE RecordType='UseList'
)
SELECT
e.LID as LID
,e.EventEnqueuedUtcTime AS SubmitDate
,CAST (e.UsedDate as DateTime) AS UsedDate
,e.Version as Version
,caUsedList.ArrayValue.Module AS Module
,caUsedList.ArrayValue.UsageCount AS UsedCount
INTO
[ModuleUseOutput]
FROM
Usagedata as e
CROSS APPLY getElements (e.UsedList) as caUsedList