【发布时间】:2015-02-06 16:26:24
【问题描述】:
我正在使用 SQL Server 2008。我正在尝试测试字符串 (varchar) 是否只有数字字符 (0-9)。我知道 IS_NUMERIC 函数会给出虚假结果。 (我的数据可能有 $ 符号,它不应该通过测试。)所以,我避免使用该功能。
我已经测试了一个字符串是否有任何非数字字符,即,
some_column LIKE '%[^0123456789]%'
我认为唯一数字测试会是类似的,但我画的是空白。有什么想法吗?
【问题讨论】:
-
您是否关心字符串是否可以成功解析为 SQL Server 上的数字类型之一?我的意思是,这不会被解析,太长,但只包含数字:“9834759837459837983759837598739587398573985739875938759387593875938759387598375938759387593875938759387593875938759873495837958734985743983479837938759387593875983475” SPAN>
-
这里的答案可以根据您的需要进行调整:stackoverflow.com/questions/16309072/…
-
如果您只需要相反的结果集,只需否定您的 where 谓词:
some_colum NOT LIKE '%[^0-9]%'
标签: sql sql-server sql-server-2008