2014-11-12 5 views
0

У меня есть таблица, которая содержит кучу адресов электронной почты клиента в поле описания, которое используется в процессе интраппа, который подбирает адрес электронной почты и отправляет клиенту сообщение.Показать, если столбец имеет более 1 знака @

К сожалению, в этом поле нет подтверждения, поэтому пользователи могут вводить все, что им нравится, а затем приводит к падению процесса intapp.

В настоящее время я пытаюсь определить линии проблем, чтобы выполнить очистку, но я столкнулся с проблемой. В повествовании есть несколько строк, в которых есть 2 адреса электронной почты (что снова заставляет intapp упасть)

Я написал скрипт, который будет возвращать любые строки, в которых есть пробелы, а также любые строки, которые не имеют @ войдите в них (по логике, что электронные письма не имеют пробелов и должны иметь знаки @).

Тем не менее, я не знаю, как искать и возвращать строки, которые имеют 2 символа @ в поле повествования для отображения, если пользователь ввел 2 адреса электронной почты '. Это возможно?

Возможно ли это?

+0

Это лучше всего работает [REGEX] (http://msdn.microsoft.com/en-us/magazine/cc163473.aspx). –

ответ

2
SELECT * FROM your_table WHERE email LIKE '%@%@%'; 
+0

Как и ваш ответ лучше :) – DRapp

+0

Действительно? Мне нравится ваш ответ лучше :) – fancyPants

+0

Прекрасное спасибо. Не понял, что вы можете это сделать – user3820135

1

как насчет сравнения длины оригинала против оригинала зачистки любые «@» знаки ..

where NOT len(yourField) - len(REPLACE(yourField,'@','')) = 1 

Это получат те, которые не имеют знак «@», но и те, которые имеют более одного

+0

Это работает, спасибо! Но ответ Fancy pants легче интегрировать в мой запрос, спасибо за помощь! – user3820135