返回非数字字符

时间:2017-07-03 07:08:05

标签: sql-server

我有一张桌子。

enter image description here

结果 我想显示名称和数字列。

如何返回数字中包含非数字字符的所有行。

感谢。

2 个答案:

答案 0 :(得分:1)

您可以使用ISNUMERIC功能

当输入表达式求值为有效的数值数据类型时,ISNUMERIC返回1;否则它返回0.

SELECT names, digit 
FROM yourTable
WHERE ISNUMERIC(digit) = 0

答案 1 :(得分:0)

您可以使用PATINDEX

Declare @SampleData as Table 
(
    Id int,
    Digit varchar(10)
)

insert into @SampleData
values 
( 1, '100'),(2,'2ab'),
(3,'200'), (4, ''), (5, 'a11')

select * from @SampleData
where PATINDEX('%[^0-9]%',Digit) > 0

返回

Id  Digit
----------
2   2ab
5   a11