Сегодня у меня есть удивительно забавная маленькая проблема SQL, и я решил попросить сообщество посмотреть, какие решения вы предлагаете.
У нас есть действительно классная электронная почта для текстового сервиса, которую мы используем, вам просто нужно отправить электронное письмо по адресу phonenumber@servicename.com, и он отправит текстовое сообщение на нужный номер телефона.
Например, чтобы отправить текст на номер 0790 0006006, вам нужно отправить электронное письмо по адресу 07900006006@servicename.com, довольно аккуратно, да?
Проблема с телефонными номерами в нашей базе данных. Большинство телефонных номеров в порядке, но в некоторых из них есть "мусор", смешанный с номером телефона.
Возьмите эти замечательные примеры мусора, с которым вам нужно иметь дело (я анонимизировал номера телефонов, поместив нули в них):
07800 000647 (мобильный)
07500 000189 ИСПОЛЬЗОВАНИЕ 1ST
СМ. ПРИМЕЧАНИЯ
07900 000415 ТОЛЬКО ХО
попробуй 1й 0770 0000694 потом домой
07500 000465 Не могу
Требования
Решение должно быть в SQL (для сервера MS SQL).
Итак, проблема в следующем: нам нужно получить номер телефона без пробелов и без всякого мусора, который можно увидеть в примерах.
Например:
Это:
Попробуйте 1-й 0770 0000694, затем домой
Должно стать так:
07700000694
Все, что не имеет номера телефона (например, «СМ. НОТЫ»), должно быть нулевым.
UPDATE:
Спасибо за отличные отзывы! У нас было несколько интересных ответов, но, поскольку ни у одного из ответов на SQL не было ни одного голоса, выбрать фаворита довольно сложно. Я бы скорее увидел явного фаворита, выбранного сообществом.
Я оставлю вопрос в зрелости еще немного и посмотрю, поступят ли какие-нибудь голоса, прежде чем я присуду ответ.