T-SQL: Identificare le email valide

In questo mini tutorial vi voglio illustrare come estrarre tramite T-SQL i valori presenti nel campo email solo se hanno una struttura sintatticamente corretta.

Premessa: L’idea di questo post è nata venerdì pomeriggio quando mi sono trovato a dovere scrivere una Stored Procedure per un micro servizio che sfruttava il campo email legato all’utente. Purtroppo come tutti sappiamo i dati forniti dagli utenti non sono sempre corretto ed una scrematura a monte non guasta mai.

LIKE Condition

Come posso capire se il valore presente nel campo (che chiamerò email_address per comodità ) è valido oppure no? Ho due possibilità fondamentalmente:

  1. Verificarne la sintassi per una prima scrematura
  2. Affidarmi a servizi dedicati per la verifica della mail per capire se esiste realmente oppure no. Ad esempio io utilizzo ZeroBounce per questa esigenza specifica.

Per evitare di passare dati sporchi a ZeroBounce e consumare inutilmente del credito ho deciso di inserire uno step precedente via T-SQL con lo scopo di escludere tutti i valori non corretti. Come? Ecco lo script (la parte minimale)

1
2
3
SELECT email_address
FROM table_user
WHERE email_address LIKE '%_@%_.__%'

Come avrete notato l’ultima riga racchiude la condizione che stiamo cercando per escludere tutte le email non valide almeno dal punto di vista della sintassi:

email_address LIKE ‘%@%.__%'

Semplice, vero?