mysql将字符串转换数字_sql语句中如何将字符类型转换成数字类型?

该博客探讨了在SQL中如何检查和转换数据,特别是金额列,确保字符串符合数字规范。通过使用`ISNUMERIC`函数进行预检查,然后使用`CAST`或`CONVERT`将符合条件的字符串转换为数字格式,同时提供错误处理机制。文章强调了在数据转换过程中正确性和可读性的关键性。
摘要由CSDN通过智能技术生成

展开全部

先检查金额列的数据是否都符合小数规范e69da5e887aa62616964757a686964616f31333365633863,转为数字格式只有是数字的字符串才能转,如000012转为12,.55转为0.55,若是个英文符号等字符转了就报无效数字类型的错。

转换的方式很多,但是字符串转换成数字的前提是字符串中只包含了数字或者小数点。

可使用convert函数,cast 和convert可以显式转换数据类型,在某些情况下SQL会根据实际情况自动转换!不过建议显式的转换一下,这样的话可读性高一点!

因为字符串不一定能转换成数字,所以用上面的,加上错误处理比较。

例子:

declare @a varchar(10)

set @a='as23'

select case when isnumeric(@a)=1 then cast(@a as int) else null end

set @a='23'

select case when isnumeric(@a)=1 then cast(@a as int) else null end

结果:

declare @a varchar(10)

set @a='as23'

select case when isnumeric(@a)=1 then cast(@a as int) else null end

set @a='23'

select case when isnumeric(@a)=1 then cast(@a as int) else null end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值