2013-08-05 13 views
5

私は人の名前のデータセットを持っていますが、問題は私がスペースバーを数回押して名前を入力したときに想像することです。ありますたび_単語の間、それがあることを保証するための最良の方法だろうどのような名前の欄になどjohn_doeなど、John__Doe、John____Doe、のようないくつかの名前がそこにいるか名前の余分な中スペースを削除する - SQL

enter image description here

は注意:これを持っています1,2,3、等々。それは1つのスペースだけに削除/トリムされるので、これらのレコードはすべてJohn_Doeになります。

思考?

+3

*** SQL ***は*多くのデータベースシステムで使用される言語ですが、データベース製品ではありません。文字列操作のような多くのものはベンダー固有のもの** - あなたが使用している**データベースシステム**(およびどのバージョン)を知っている必要がありますか(それに応じてタグを更新してください).... –

+1

名前の選択 を置き換えます(置換(名前、 ''、 ' > ')、'><',''),'<> '、' _ ') テーブル – Mihai

+0

SQL Server Management Studioを使用しています – Joshua

答えて

9

これは、あなたが検索するための大規模なデータを持っている場合は特に、トリック

DECLARE @string varchar(100) 
SET @string = 'John Doe' 

SELECT string = REPLACE(REPLACE(REPLACE(@string,' ','<>'),'><',''),'<>',' ') 

Replace duplicate spaces with a single space in T-SQL

0

本当に私の意見では、プロセスを減速しているREPLACE使用して行う必要があります。 私の提案は、入力文字列をチョップし、ANDとLIKEを使用することです。

関連する問題