2013-08-05 5 views
5

У меня есть набор имен людей, но проблема в том, что я представляю, когда некоторые люди печатали свои имена, они попадали в пробел несколько раз слишком много b/c, теперь мы есть это:Удаление избыточных средних пространств в имени - SQL

enter image description here

Обратите внимание, как в колонке имя есть уже некоторые имена, как John_Doe, John__Doe, John____Doe и т.д. что бы лучший способ гарантировать, что всякий раз, когда есть _ между словами, будь то 1,2,3 и т. Д., Он удаляется/обрезается только до 1 места, поэтому все эти записи станут John_Doe.

Мысли?

+3

*** SQL *** - это только * Структурированный язык запросов * - язык, используемый многими системами баз данных, но не продукт базы данных ... многие вещи, такие как манипуляции с строкой, являются ** высокоспециализированными ** - поэтому нам действительно нужно знать, что ** система баз данных ** (и какая версия) вы используете (пожалуйста, обновляйте теги соответственно) .... –

+1

выберите имя, заменить (заменить (заменить (имя, '', '< > '),'><',''),'<> ',' _ ') из таблицы – Mihai

+0

Я использую SQL Server Management Studio. – Joshua

ответ

0

с помощью ЗАМЕНЫ действительно замедляет процесс, на мой взгляд, особенно если у вас есть большие данные для поиска по. Мое предложение состоит в том, чтобы нарезать входную строку и использовать AND и LIKE.

Смежные вопросы