在SQL语句里面如何将字符型转换成数字型?

2024-12-16 11:21:07
推荐回答(5个)
回答1:

先检查金额列的数据是否都符合小数规范,用cast(金额 as decimal(10,4))>500或者

convert(decimal(10,4),金额)>500

注:decimal的长度和小数位数根据自己需要设定

sql中将字符串数字转换成数字:

方法一:SELECT CAST('123' AS SIGNED integer);

方法二:SELECT CONVERT('123',SIGNED);

方法三:SELECT '123'+0;

扩展资料:

能将字符型转换成数字型,就能将数字转化为字符,对于精确数值的数据类型,转换出来的字符串就是我们存储的数值。比如:

declare @i int

set @i=123456789

print 'test:'+convert(varchar(20),@i)

输出就是:test:123456789

而如果对于近似数值的数据类型,那么可就没有那么简单了。

declare @i float

set @i=123456789

print 'test:'+convert(varchar(20),@i)

输出结果:test:1.23457e+008

回答2:

先检查金额列的数据是否都符合小数规范


cast(金额 as decimal(10,4))>500
或者
convert(decimal(10,4),金额)>500
试试
decimal的长度和小数位数根据自己需要设定

回答3:

再加一句and isnumeric(金额)=1
你的金额字段看来还有别的字符不能被转换为数值类型,用上面的方法=0可以查看不能被转换的数据,修改后即可转换

回答4:

你查询一下表,

金额 这一列, 应该有 不是 数字的情况, 把这些 数据修改成数字的,

就可以了。

回答5:

cast(金额 as dec(8,0)),试试