社区
应用实例
帖子详情
报错提示:将 varchar 转换为数据类型 numeric 时出现算术溢出错误
CIOSOFT
2013-02-21 11:05:41
declare @D decimal(18, 2)
set @D=100.98
set @sql='UPDATE [dbo].[Money]
SET [Wage] = '+@D+'where [AuditStateC]=''2'''
以上语句报错:将 varchar 转换为数据类型 numeric 时出现算术溢出错误
是什么原因
...全文
1222
7
打赏
收藏
报错提示:将 varchar 转换为数据类型 numeric 时出现算术溢出错误
declare @D decimal(18, 2) set @D=100.98 set @sql='UPDATE [dbo].[Money] SET [Wage] = '+@D+'where [AuditStateC]=''2''' 以上语句报错:将 varchar 转换为数据类型 numeric 时出现算术溢出错误 是什么原因
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
DBA_磊仔
2013-02-21
打赏
举报
回复
decimal 的隐式转换的优先级比 varchar 类型高,所以如果不使用显示转换,会把 varchar类型转为 数字类型,这明显 'UPDATE [dbo].[Money] SET [Wage] = ' 是转不成数字的
弘恩
2013-02-21
打赏
举报
回复
引用 4 楼 DBA_Huangzj 的回复:
我认为convert好一点
支持
發糞塗牆
2013-02-21
打赏
举报
回复
但是转换会有一定的性能开销,而ltrim只是去掉左边的空格,貌似跟你的问题无关
發糞塗牆
2013-02-21
打赏
举报
回复
我认为convert好一点
CIOSOFT
2013-02-21
打赏
举报
回复
以上两种方式那个更好呢
chuifengde
2013-02-21
打赏
举报
回复
...+ltrim(@d)+...
szm341
2013-02-21
打赏
举报
回复
set @sql='UPDATE [dbo].[Money] SET [Wage] = '+convert(varchar(20),@D)+'where [AuditStateC]=''2'''
SQL Server 将
varchar
转换
为
数据类型
numeric
时
出现
算术溢出
错误
,问题排查
今天遇到:将
varchar
转换
为
数据类型
numeric
时
出现
算术溢出
错误
。 经排查发现,数据库设计的字段的类型为decimal,长度为4,小数位为2。 需要写入的值为100,就会报溢出
错误
。 实际上原因是:100在decimal类中存储
时
真正值为:100.00,长度为5。而字段长度定义为4,就溢出了。 也就是说设计数据库字段
时
,长度是包含小数位的,这是一个低级
错误
。 ...
C# 将
varchar
转换
为
数据类型
numeric
时
出现
算术溢出
错误
。语句已终止。
调试发现在数据库里的order.id类型是string类型,所以在使用
时
用了双引号,双引号表示数据是int性,因此正确的是。将
varchar
转换
为
数据类型
numeric
时
出现
算术溢出
错误
。在自己写代码的
时
候报了这个错。
将
varchar
转换
为
数据类型
numeric
时
出现
算术溢出
错误
SQL Server 2005 中 如果使用5位以上的字符串
转换
为
numeric
时
就会
出现
“将
varchar
转换
为
数据类型
numeric
时
出现
算术溢出
错误
”这样的
错误
,如果使用5位以下(含5位)的就不会出错。
将
numeric
转换
为
数据类型
numeric
时
出现
算术溢出
错误
保存数据
时
控制台
报错
: 1 Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: 将
numeric
转换
为
数据类型
numeric
时
出现
算术溢出
错误
。 2 at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQ...
对于“Sqlexception 将
varchar
转换
为
数据类型
numeric
时
出现
算术溢出
异常 ”
今天,在调试程序的
时
候,需要把textbox里面的值取出来和数据库的相对应的值做比较,当
时
写了一个SQL语句:string sqlstr = "select * from 列表 where 编码='" + CODE + "' ";运行能成功,但是,在查询的
时
候,就会
提示
SQL异常“Sqlexception 将
varchar
转换
为
数据类型
numeric
时
出现
算术溢出
异常 ”!弄了半天,都没有
应用实例
27,582
社区成员
68,544
社区内容
发帖
与我相关
我的任务
应用实例
MS-SQL Server 应用实例
复制链接
扫一扫
分享
社区描述
MS-SQL Server 应用实例
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章