MSSQL中将字符串转为数值的技巧(mssql 字符转数值)

在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()函数来判断字符串是否可以转换为数值,当确定可以转换时,再使用相应的函数来完成字符串转换为数值类型。


数据运维技术 » MSSQL中将字符串转为数值的技巧(mssql 字符转数值)