Я пытаюсь извлечь денежные суммы, хранящиеся в некоторых слабо сформированных столбцах xml (нет схемы, определенной для столбца XML, который, как я полагаю, является частью проблемы). Я получаю ошибку преобразования всякий раз, когда сталкиваюсь с node с 0 в качестве значения.
Пример:
select xml.value('sum(/List/value)', 'numeric') sum
from (select cast('<List><value>1</value><value>2</value></List>' as xml) xml) a
дает сумму 3, а:
select xml.value('sum(/List/value)', 'numeric') sum
from (select cast('<List><value>0</value><value>0</value></List>' as xml) xml) a
вызывает ошибку: "Ошибка преобразования типа данных nvarchar в числовой".
Любая идея, как я могу заставить мой запрос возвращать 0 при суммировании списка нулевых узлов?