我正在处理从XML输入生成SQL视图的代码。某些字段导致数据转换错误(nvarchar为数字,字符串为日期或时间)。我试图转换值,但看起来在转换之前发生错误,在从XML检索数据的那一刻。我按类型包含有问题的字段:
错误:
将数据类型nvarchar转换为数字
时出错
代码:
Threshold = ISNULL(promo.value('Threshold[1]', 'decimal(7,2)'), 0.0),
ChargeAmount = ISNULL(promo.value('Amount[1]', 'decimal(10,2)'), 0),
Maximum = ISNULL(promo.value('Maximum[1]', 'decimal(7,2)'), 0),
错误:
从字符串
转换日期和/或时间时转换失败
代码:
StartDate = header.value('BeginDateTime[1]', 'date'),
StartTime = header.value('BeginDateTime[1]', 'time'),
EndDate = header.value('EndDateTime[1]', 'date'),
EndTime = header.value('EndDateTime[1]', 'time'),
这些字段包含在SELECT子句中,其中至少包含90个字段,其他字段没有问题。所以,任何人都知道我必须对这些线路进行哪些修改以避免错误?提前谢谢。