如果字符串是T-SQL中的数字,如何获取

Stu*_*ens 13 t-sql sql-server-2005

如果字符串是MS SQL 2005中的整数(仅由数字组成),是否有一种简单的方法可以获得?

谢谢您的帮助.

小智 16

即使原始海报是指SQL 2005,我在2008年发现r2直接where isnumeric(string)导致错误4145非布尔类型.要解决此问题:where isnumeric(string) = 1


Pau*_*aul 15

函数ISNUMERIC返回字符串是否为数字,但对于非整数将返回true.

所以你可以使用:

WHERE ISNUMERIC(str) AND str NOT LIKE '%.%' AND str NOT LIKE '%e%' AND str NOT LIKE '%-%'
Run Code Online (Sandbox Code Playgroud)

  • 什么是字符串,如''£'或'0d0'`?`ISNUMERIC`仍将返回`1`. (4认同)

Pau*_*aul 7

您可以使用LIKE运算符:

WHERE str NOT LIKE '%[^0-9]%'
Run Code Online (Sandbox Code Playgroud)