sql 怎么修改字段a的值为a+x 字段a是bigint 型的一个数值,x 也是一个变量的数值

我这样写的
set /p x="" (用户输入)
update 表 set a=a+x where aabb=1234
但是提示将数据类型varchar转换为bigint 时发生错误
写错了 应该是 uadate 表 set a=a+%x% where aabb=1234
表中的字段a是bigint 类型的,字段aabb是varchar 类型的
x 是用户输入的一个数值(比如说100),在这个批处理里面用户输入的x 是数值还是字符呢?

你的X是varchar类型的,所以出错了,
把x转换成int类型再进行加法运算。
还有你的aabb是什么类型的字段?如果是varchar,那么你的1234,应该这样写‘1234’
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-07-25
%x%只能用于字符型

试问一个数字加一个字符,得到什么?

数据库类型为bigint,那么当然会出错
第2个回答  2011-07-25
declare @a nvarchar(10)
set @a=1;
select convert(int,@a)
update tb_Users set UserInt=UserInt+(select convert(int,@a)) where Id=1

其实你可以直接定义成int型,就不用再转换格式了!追问

还是不明白,x是用户输入的一个数字,要和a相加,a 是bigint 类型的,aabb 是varchar 型的,主要是a怎么和x相加,怎么转换x

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网