Istruzioni SQL di esempio per le regole di qualità dei dati
Questi esempi dimostrano come è possibile impostare regole SQL.
È possibile copiare le istruzioni SQL fornite nelle proprie regole di qualità dei dati e modificarle in base alle necessità.
L'indirizzo non esiste
Restituisce l'ID client e il nome per tutti i record in cui non esiste un indirizzo (controllo valore null e vuoto).
select CLIENT_ID, NAME from SCHEMA.CUSTOMERS where ADDRESS is null or length(trim(ADDRESS))=0
Tipo di indirizzo mancante o non presente nell'elenco di riferimento
Restituisce l'ID client e il nome per tutti i record in cui un tipo di indirizzo non esiste (controllo valore null e vuoto) o non è presente nell'elenco di riferimento.
select CLIENT_ID, NAME from SCHEMA.CUSTOMERS where ADDRESSTYPE is null or length(trim(ADDRESSTYPE))=0 or rtrim(ADDRESSTYPE) not in ('S','R','B','L','G','U','O')
L'età non è compresa nell'intervallo
Restituisce l'ID client e il nome per tutti i record in cui l'età derivata è inferiore al valore AGE o supera 125. L'età derivata viene calcolata come valore assoluto della differenza tra la data corrente e la data di nascita.
select CLIENT_ID, NAME from SCHEMA.CUSTOMERS where abs(DAYS(CURRENT DATE) - DAYS(DATEOFBIRTH))/365 < AGE OR abs(DAYS(CURRENT DATE) - DAYS(DATEOFBIRTH))/365 > 125
Stato civile non corretto dei figli
Restituisce l'ID cliente e il nome di tutti i record in cui la persona è un minore (l'età derivata inferiore a 18 anni) e lo stato civile non è no. L'età derivata viene calcolata come valore assoluto della differenza tra la data corrente e la data di nascita.
select CLIENT_ID, NAME from SCHEMA.CUSTOMERS where abs(DAYS(CURRENT DATE) - DAYS(DATEOFBIRTH))/365 < 18 AND MARITAL_STATUS <> 'N'
Il numero della carta di credito non corrisponde al formato
Restituisce l'ID e il nome client per tutti i record in cui il numero della carta di credito non corrisponde al formato specificato.
select CLIENT_ID, NAME from SCHEMA.CUSTOMERS where NOT regexp_like(CREDIT_CARD, '^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|6(?:22|4[4-9])[0-9]{13}|65[0-9]{14}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\\d{3})\\d{11})$')
SSN non corrisponde al formato
Restituisce l'ID client e il nome di tutti i record in cui un numero di previdenza sociale (SSN) non corrisponde al formato specificato.
select CLIENT_ID, NAME from SCHEMA.CUSTOMERS where NOT regexp_like(SSN, '^[0-9]{3}-[0-9]{2}-[0-9]{4}$')
La sottostringa non corrisponde alle voci nell'elenco di riferimento
Restituisce l'ID e il nome client per tutti i record in cui la sottostringa di un valore di testo che inizia alla posizione 3 per la lunghezza 3 non è presente nell'elenco di riferimento fornito.
select CLIENT_ID, NAME from SCHEMA.CUSTOMERS where substring(TEXTFIELD, 3, 3) not in ('AAA','AAB','BAA','CCC')
Argomento principale: Creazione di regole di qualità dei dati basati su SQL