解决'将 expression 转换为数据类型 nvarchar 时出现算术溢出错误。'

在生产环境中遇到一个异常提示:“将 expression 转换为数据类型 nvarchar 时出现算术溢出错误。”,一看这错误就知道是数据库的异常,赶紧检查存储过程。

发现存储过程中有将某个int值转换为nvarchar(2)的数据,心中一想,不会吧……这样也可以?万一int是自增的,过了100咋办?一查数据果然是此int类型值已达9800+,为确认是此处导致的问题,自己写个查询检查下:

        declare @x int;

        set @x = 9980;

        select Convert(nvarchar(2),@x);

结果果然出现了“将 expression 转换为数据类型 nvarchar 时出现算术溢出错误。”。

那么增加nvarchar类型的长度就行,改为nvarchar(8),顺利运行通过。


—— 完 ——
相关推荐
评论

立 为 非 似

中 谁 昨 此

宵 风 夜 星

。 露 , 辰

文章点击榜

细 无 轻 自

如 边 似 在

愁 丝 梦 飞

。 雨 , 花