我有一个表#DateDay_temp
,其中有类型的NVARCHAR(20)
类型。当我尝试当我传递值54.56在ExtraAdultPrice
“列在存储过程中将nvarchar转换为int时出错
DECLARE @ExtraAdultPAX DECIMAL(10,2)
SELECT
@ExtraAdultPAX = SUM(CAST((CASE ISNULL(ExtraAdultPrice, '')
WHEN '' THEN 0
ELSE ExtraAdultPrice END) AS DECIMAL(10,2)))
FROM #DateDay_temp;
运行此声明,我得到的错误转换nvarchar的值时
转换失败'54 0.56' 到数据 int类型。
帮助将不胜感激。
'54.56'是**不是** int **值..... –
而** WHY **是类型为'NVARCHAR( 20)'?!?!?!? –
因为它可以有任何值 –