0

次のような特殊文字を含むレコードをプルしようとしています。

*,  +,  -, . (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サーバーには、これらの特殊文字を使用してレコードをプルできる方法があると確信しています。テーブルに1,000万を超えるレコードがあるため、これらの特殊文字を並べ替えて検索し、上記のように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 に答える