T-SQL查询,其中列仅包含数字

Sha*_*ins 10 t-sql

可能重复:
如何仅获取数字列值?

我正在尝试编写一个T-SQL查询,该查询仅返回特定列仅包含数字的行.

就像是

从表中选择*,其中列为'[0-9]%'

问题是列可以是1到10个字符长.

Luk*_*keH 26

SELECT *
FROM yourTable
WHERE yourColumn NOT LIKE '%[^0-9]%'
Run Code Online (Sandbox Code Playgroud)

  • 实际上,克拉是"不",所以它返回那些并非所有数字的行. (2认同)

小智 11

使用IsNumeric功能:

select * from table where IsNumeric(column) = 1
Run Code Online (Sandbox Code Playgroud)

  • 我对这个问题的解释是该列应该只包含字符"0"到"9".如果列包含"1.75"," - 34","+ 96.28"等内容,则"ISNUMERIC"函数将匹配. (4认同)