0

我正在尝试提取包含特殊字符的记录,例如:

*,  +,  -, . (dot), ',  , /,  0-9

但到目前为止并没有太大的成功。

该列名为 People_Name,名称应采用以下格式:姓氏、名字。例如,史密斯、约翰逊。但是,由于数据输入错误,一些名称显示为:

 681, Smith,  *S-Sean, Tom,   +, John,   -, Tim,  ., .,  /, Celo,  0-9999,
 Maria,  ', Irving, and sometime as 'Unknown, Alexis.

我当前的查询(SQL Server 2005)是

Select People_name
  from mytable
 where (People_name LIKE '%*%' 
    OR People_name LIKE '%-,%'
    OR People_name LIKE '%+%'
    OR People_name LIKE '%/%'
    OR People_name LIKE '%unknown%')

我可以继续添加 LIKE 列表,但我确信 SQL 服务器中有一种方法可以提取带有这些特殊字符的记录。表中有超过 1000 万条记录,重复排序和查找那些特殊字符,然后使用上面的 LIKE 运算符。

有人可以调查一下吗?

4

1 回答 1

1

你可以试试

select People_name
from mytable
where People_name like '%[^a-zA-Z ,]%'

SQL FIDDLE 示例

于 2012-10-25T18:36:11.277 回答