2013-05-07 150 views
0

我試過這個,但它不起作用。我想找到所有沒有一個有效的電子郵件@符號的輸入SQL選擇所有不包含@符號

SELECT * FROM tblEmail 
WHERE [email] <> '%@' 
+1

杜佩http://stackoverflow.com/questions/801166/sql-script-to-find-invalid-email-addresses [TSQL電子郵件的 – 2013-05-07 12:18:33

+0

可能重複驗證(無正則表達式)](http://stackoverflow.com/questions/229824/tsql-email-validation-without-regex) – hims056 2013-05-07 12:20:05

回答

1

試試這個:

SELECT * FROM tblEmail WHERE [email] NOT LIKE '%@%' 
+1

缺少結尾% – 2013-05-07 12:20:01

+0

@Al。補充,謝謝 – 2013-05-07 12:20:32

1

要使用MySQL中,你應該做的充分驗證電子郵件地址:

SELECT * 
    FROM tblEmail 
WHERE email NOT REGEXP '^[A-Z0-9._%-][email protected][A-Z0-9.-]+\.[A-Z]{2,4}$'; 
1

也許使用NOT LIKE '%@%'

SELECT * FROM tbl where email NOT LIKE '%@%' 
1

您當前的查詢僅在文本結尾處搜索@符號。如果你需要匹配文本中的任何地方(這是電子郵件的情況),我希望你需要使用'%@%'

因此完整的查詢可能看起來像

SELECT * FROM tblEmail Where [email] NOT LIKE '%@%'