非常に 基本は次のようになります:
SELECT
EmailAddress,
CASE WHEN EmailAddress LIKE '%[email protected]_%_.__%'
AND EmailAddress NOT LIKE '%[any obviously invalid characters]%'
THEN 'Could be'
ELSE 'Nope'
END Validates
FROM
Table
これは、中央に@があり、その前に少なくとも1つの文字があり、その後に少なくとも2つ、ドットがあり、TLDの場合は少なくとも2つあるすべてのものと一致します。
もっとLIKE
を書くことができます より具体的なことを行うパターンですが、電子メールアドレスである可能性のあるすべてのものに一致することはできませんが、そうでないものをすり抜けることはできません。正規表現を使用しても、正しく実行するのは困難です。さらに、RFCの文字通りに一致する場合でも、ほとんどの電子メールシステムで受け入れ/使用されないアドレス構成に一致します。
データベースレベルでこれを行うことは、とにかく間違ったアプローチである可能性があります。したがって、上記の基本的な健全性チェックは、パフォーマンスの観点から得ることができる最善の方法であり、アプリケーションで行うと、はるかに高い柔軟性が得られます。