Diese Beispiele veranschaulichen, wie Sie Ihre SQL-Regeln einrichten.
Sie können die bereitgestellten SQL-Anweisungen in Ihre eigenen Datenqualitätsregeln kopieren und nach Bedarf anpassen.
Adresse ist nicht vorhanden
Gibt die Client-ID und den Namen für alle Datensätze zurück, in denen keine Adresse vorhanden ist (Prüfung auf Nullwerte und leere Werte)
select CLIENT_ID, NAME from SCHEMA.CUSTOMERS where ADDRESS is null or length(trim(ADDRESS))=0
Adresstyp fehlt oder ist nicht in der Referenzliste enthalten
Gibt die Client-ID und den Namen für alle Datensätze zurück, bei denen kein Adresstyp vorhanden ist (Prüfung auf Nullwerte und leere Werte) oder nicht in der Referenzliste enthalten ist.
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')
Alter liegt außerhalb des Bereichs
Gibt die Client-ID und den Namen für alle Datensätze zurück, bei denen das abgeleitete Alter kleiner als der AGE-Wert oder größer als 125 ist. Das abgeleitete Alter wird als absoluter Wert der Differenz zwischen dem aktuellen Datum und dem Geburtsdatum berechnet.
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
Falscher Familienstand von Kindern
Gibt die Client-ID und den Namen für alle Datensätze zurück, bei denen die Person ein Kind ist (abgeleitetes Alter unter 18) und der Familienstand nicht 'Nein' ist. Das abgeleitete Alter wird als absoluter Wert der Differenz zwischen dem aktuellen Datum und dem Geburtsdatum berechnet.
select CLIENT_ID, NAME from SCHEMA.CUSTOMERS where abs(DAYS(CURRENT DATE) - DAYS(DATEOFBIRTH))/365 < 18 AND MARITAL_STATUS <> 'N'
Kreditkartennummer stimmt nicht mit dem Format überein
Gibt die Client-ID und den Namen für alle Datensätze zurück, deren Kreditkartennummer nicht dem angegebenen Format entspricht.
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 stimmt nicht mit dem Format überein
Gibt die Client-ID und den Namen für alle Datensätze zurück, bei denen eine Sozialversicherungsnummer (SSN) nicht dem angegebenen Format entspricht.
select CLIENT_ID, NAME from SCHEMA.CUSTOMERS where NOT regexp_like(SSN, '^[0-9]{3}-[0-9]{2}-[0-9]{4}$')
Unterzeichenfolge stimmt nicht mit Einträgen in Referenzliste überein
Gibt die Client-ID und den Namen für alle Datensätze zurück, bei denen die Unterzeichenfolge eines Textwerts ab Position 3 für die Länge 3 nicht in der angegebenen Referenzliste enthalten ist.
select CLIENT_ID, NAME from SCHEMA.CUSTOMERS where substring(TEXTFIELD, 3, 3) not in ('AAA','AAB','BAA','CCC')
Übergeordnetes Thema: SQL-basierte Datenqualitätsregeln erstellen