使用SQL Server仅从char列中选择整数

And*_*ect 6 sql t-sql sql-server

如何编写select语句以仅从SQL Server中的char列中选择整数(仅此而已).例如,我的表名是POWDER,有2列,ID(int)和Name(char(5))

ID     Name
-- ----------
1     AXF22
2     HYWWW
3     24680
4     8YUH8
5     96635
Run Code Online (Sandbox Code Playgroud)

我希望能够只选择那些包含整数的行而不是更多(本例中为ID 3和ID 5)

如果我尝试:

SELECT * 
  FROM POWDER
 WHERE Name LIKE '[0-9]%'
Run Code Online (Sandbox Code Playgroud)

......它将返回:

ID     Name
--    ----------
3      24680
4      8YUH8
5      96635
Run Code Online (Sandbox Code Playgroud)

任何想法如何获得只包含整数的行?

Chr*_*tta 13

SELECT * FROM POWDER WHERE IsNumeric(Name) = 1
Run Code Online (Sandbox Code Playgroud)

对于其他一些在数字中有效的字符,IsNumeric返回1,例如+和 - 以及$但是对于您的输入,您应该没问题.