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

T-SQL:電子メール形式のチェック

    次のクエリを、多くの異なる間違った有効な電子メールアドレスでテストしました。それは仕事をする必要があります。

    IF (
         CHARINDEX(' ',LTRIM(RTRIM(@email_address))) = 0 
    AND  LEFT(LTRIM(@email_address),1) <> '@' 
    AND  RIGHT(RTRIM(@email_address),1) <> '.' 
    AND  CHARINDEX('.',@email_address ,CHARINDEX('@',@email_address)) - CHARINDEX('@',@email_address ) > 1 
    AND  LEN(LTRIM(RTRIM(@email_address ))) - LEN(REPLACE(LTRIM(RTRIM(@email_address)),'@','')) = 1 
    AND  CHARINDEX('.',REVERSE(LTRIM(RTRIM(@email_address)))) >= 3 
    AND  (CHARINDEX('[email protected]',@email_address ) = 0 AND CHARINDEX('..',@email_address ) = 0)
    )
       print 'valid email address'
    ELSE
       print 'not valid'
    

    これらの条件をチェックします:

    • 埋め込みスペースはありません
    • 「@」をメールアドレスの最初の文字にすることはできません
    • '。'メールアドレスの最後の文字にすることはできません
    • 「。」が必要です。 '@'の後のどこか
    • 「@」記号を使用できます
    • ドメイン名は少なくとも2文字の拡張子で終わる必要があります
    • [email protected]」や「..」のようなパターンは使用できません


    1. MySQLは600K行からランダムな10行を高速で選択します

    2. SQLServerデータベースの既存のテーブルに列を追加する

    3. Oracleで変数を宣言して表示する方法

    4. SQL Serverシステムデータベース–システムデータベースの復元