sql >> データベース >  >> RDS >> Sqlserver

TSQL電子メール検証(正規表現なし)

    非常に 基本は次のようになります:

    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の文字通りに一致する場合でも、ほとんどの電子メールシステムで受け入れ/使用されないアドレス構成に一致します。

    データベースレベルでこれを行うことは、とにかく間違ったアプローチである可能性があります。したがって、上記の基本的な健全性チェックは、パフォーマンスの観点から得ることができる最善の方法であり、アプリケーションで行うと、はるかに高い柔軟性が得られます。



    1. FGCB_ADD_REMOVEラッチ

    2. Postgresは最もクールなデータベースです–理由#2:ライセンス

    3. CONCAT_WS()がPostgreSQLでどのように機能するか

    4. 実際の自動化されたプロセスのSQLチューニングにAIを使用する方法