我正在sql Server 2008中工作.我试图测试一个字符串(varchar)是否只有数字字符(0-9).我知道IS_NUMERIC功能可以给出虚假的结果. (我的数据可能有$符号,不应该通过测试.)所以,我正在避免这个功能.
我已经测试了一个字符串是否有任何非数字字符,即,
some_column LIKE '%[^0123456789]%'
我会认为唯一的数字测试将是类似的,但我画一个空白.有任何想法吗?
解决方法
使用不喜欢
where some_column NOT LIKE '%[^0-9]%'
演示
declare @str varchar(50)='50'--'asdarew345' select 1 where @str NOT LIKE '%[^0-9]%'