消息 8115,级别 16,状态 2,第 4 行
将 expression 转换为数据类型 nvarchar 时出现算术溢出错误。
--------------------------------------------------------------------
测试代码
declare @i nvarchar(9) DECLARE @emptyGUID uniqueidentifier SET @emptyGUID = '00000000-0000-0000-0000-000000000000' select isnull(@i,@emptyGUID)
--------------------------------------------------------------------
上面的sql是产生错误的原因
nvarchar(9) 当然容不下guid 36位的字符了
我们再改一下
--------------------------------------------------------------------
declare @i nvarchar(90) DECLARE @emptyGUID uniqueidentifier SET @emptyGUID = '00000000-0000-0000-0000-000000000000' select isnull(@i,@emptyGUID)
--------------------------------------------------------------------
将nvarchar(90)改成
错误没有.
--------------------------------------------------------------------
还有其它的情况大家可以自由测试
可以将nvarchar改成char试下或者其它类型测试一下.
2010-01-06 11:08:31