2017-11-21 13 views
1

私は多くのユーザーのような文字と無効なメールアドレスを入力したことを発見30Kの記録.. を電子メールのフィールドを持つテーブルがあるなど:PostgreSQLで有効な電子メールアドレスを確認する方法は?

... <,@@などは、クエリを実行するPostgreSQLの方法はあります無効なメールアドレスがすべて表示されますか?私は、これは、クエリで行うことができますどのように.co.ukまたは.org.it

のようなアドレスの正規表現

[a-z,A-z,0-9,'.']*@[a-z,A-z,0-9]*.com 

[a-z,A-z,0-9,'.']*@[a-z,A-z,0-9]*.xx|xxx.xxであることを行う方法を知っていますか? すべての無効なアドレスのリストを取得したいので、レコードを修正するように頼むことができます。

答えて

2

あなたは、PostgreSQLのPOSIX regexp functionalityを使用することができます。

は、あなたのwhere句に(emailは、電子メール列である)以下の条件でクエリを持っている:

where email !~* '^[A-Za-z0-9._%-][email protected][A-Za-z0-9.-]+[.][A-Za-z]+$'

または任意の正規表現のために働きます君は。

+0

ありがとうございました...私の知る限り、emailaddressには、たとえばxxx + [email protected]も含めることができます – avi

関連する問題