Получение следующей ошибки; Msgstr "Ошибка преобразования типа данных varchar в числовой".Ошибка в XML-конверсии
Это происходит при попытке выбора данных из XML-ввода. Ниже приведен код:
DECLARE @XmlIn XML = '<rec>
<targetId>10</targetId>
<categoryId>4</categoryId>
<percent>2</percent>
<AgreementDurationMin></AgreementDurationMin>
<AgreementDurationMax></AgreementDurationMax>
</rec>'
INSERT INTO WizzTable
(CommissionTargetId ,
CommissionPercentageCategoryId ,
Percentage ,
AgreementDurationMin ,
AgreementDurationMax
)
SELECT targetId = NULLIF(cb.n.value('(targetId)[1]', 'INT'),
'') ,
categoryId = NULLIF(cb.n.value('(categoryId)[1]',
'SMALLINT'), '') ,
percentage = NULLIF(cb.n.value('(percent)[1]',
'DECIMAL(17,2)'), '') ,
AgreementDurationMin = ISNULL(NULLIF(cb.n.value('(AgreementDurationMin)[1]',
'INT'), ''), 0) ,
AgreementDurationMax = NULLIF(cb.n.value('(AgreementDurationMax)[1]',
'INT'), '')
FROM @XmlIn.nodes('rec') cb (n)
WHERE cb.n.value('(percent/text())[1]', 'INT') > 0
Любые идеи? Благодаря!
Пожалуйста, помечать RDMS, как синтаксис SQL изменяется. – Parfait
Приношу свои извинения Шнуго. Я это рассмотрю. Я не знал, что это такая же большая сделка. Я также предположил (неправильно), что «Отмеченный ответ» был бы эквивалентен Up Vote ... – akaWizzmaster