如何在SQL(2005)Server中使用特殊字符拉取记录?

时间:2012-10-25 17:06:04

标签: sql sql-server-2005

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

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

但到目前为止没有多少成功。

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

 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 Server中有一种方法可以使用这些特殊字符来提取记录。表中有超过1000万条记录, 重复排序并查找那些特殊字符,然后使用上面的LIKE运算符。

有人可以调查一下吗?

1 个答案:

答案 0 :(得分:1)

你可以尝试

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

SQL FIDDLE Example