在SQL Server中,有时我们需要将字符串类型的数据转换为数值类型。SQL提供了一些原生函数,可以轻松实现这一点,可是有时由于字符串的不统一,不能直接转换,就需要一些技能将字符串转为数值。
把字符串转换成数值类型,有时可使用SQL中内置函数Cast()或Try_Cast() ,下面是一个转换代码示例:
SELECTcast('123'AS INT)
另外一种方式就是使用SQL中的内置函数Try_Convert(),这是一个可选类型函数。它只返回数据如果可以转换为指定格式,在实际操作中,如果需要转换数值,这个函数是最好的方法。下面的代码展现了怎样使用Try_Convert()函数:
SELECTtry_convert(INT,'123')
由于数据有区别的格式和类型,存在不能转换的情况,此时可以斟酌使用IsNumeric(),这个函数判断输入值会不会是数值格式。IsNumeric()函数判断结果为1表示是数值,为0表示没法转换。
例如:
SELECTISNUMERIC('123')
在可辨认的数值格式的情况下,我们可使用SQL自带的cast()和try_convert()函数来完成转换,当字符串格式不可辨认时,可使用isnumeric()函数来判断字符串会不会可以转换为数值,当肯定可以转换时,再使用相应的函数来完成字符串转换为数值类型。
本文来源:https://www.yuntue.com/post/221818.html | 云服务器网,转载请注明出处!

微信扫一扫打赏
支付宝扫一扫打赏