sql >> Database teknologi >  >> RDS >> Sqlserver

T-SQL:søger efter e-mail-format

Jeg testede følgende forespørgsel med mange forskellige forkerte og gyldige e-mailadresser. Det burde gøre arbejdet.

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'

Den kontrollerer disse betingelser:

  • Ingen indlejrede mellemrum
  • '@' kan ikke være det første tegn i en e-mailadresse
  • '.' kan ikke være det sidste tegn i en e-mailadresse
  • Der skal være et '.' et sted efter '@'
  • tegnet '@' er tilladt
  • Domænenavn skal slutte med mindst 2 tegns udvidelse
  • kan ikke have mønstre som '[email protected]' og '..'


  1. Gruppering med en sagserklæring

  2. Administreret ODP.NET-driver vises ikke i dialogboksen Datakilde

  3. Identitetslignende kolonne, men baseret på Group By-kriterier

  4. Hvordan genereres tabel API-pakke i Oracle SQL Developer?