使用过滤器和通配符在SQL Server Management Studio上查找不正确的记录

时间:2016-08-31 11:34:38

标签: sql sql-server

使用SQL Server管理工作室的新手......

只是尝试过滤我的表格结果,只显示其中已经(已故)的记录......

到目前为止我已经

select SURNAME, count(SURNAME) from [dbo].[blahblah] group by SURNAME order by SURNAME

我通常会使用TRIM / translate,如下所示,但它无法识别这些功能

select trim(translate(cast(GUAR_PHONE as string), '0123456789', ' ')),GUAR_PHONE
from atable
WHERE trim(translate(cast(GUAR_PHONE as string), '0123456789', ' '))<>'';

2 个答案:

答案 0 :(得分:0)

如果您要查找'deceased'之类的字符串,则可以使用like

select b.*
from dbo.blahblah b
where b.guar_phone like '%deceased%';

这似乎解决了帖子开头的问题。我不知道代码应该做什么。

在SQL Server中,如果您只想查看字符串中是否有任何非数字,您可以这样做:

where b.guar_phone like '%[^0-9]%'

答案 1 :(得分:0)

如果要检查列中是否存在非数字字符, 使用IsNumeric函数..

select y.*
from dbo.YourTable y
where ISNUMERIC(y.guar_phone) !=1