0 / 0
Go back to the English version of the documentation
Przykładowe instrukcje SQL dla reguł jakości danych
Last updated: 05 maj 2023
Przykładowe instrukcje SQL dla reguł jakości danych

Te przykłady demonstrują, jak można skonfigurować reguły SQL.

Udostępnione instrukcje SQL można skopiować do własnych reguł jakości danych i w razie potrzeby je dopasować.

Adres nie istnieje

Zwraca identyfikator klienta i nazwę dla wszystkich rekordów, dla których adres nie istnieje (sprawdzanie wartości NULL i wartość pusta).

select CLIENT_ID, NAME from SCHEMA.CUSTOMERS where ADDRESS is null or length(trim(ADDRESS))=0

Brak typu adresu lub nie znajduje się na liście odwołań

Zwraca identyfikator klienta i nazwę dla wszystkich rekordów, dla których typ adresu nie istnieje (sprawdzanie wartości NULL i wartość pusta) lub nie znajduje się na liście odwołań.

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')

Wiek znajduje się poza zakresem

Zwraca identyfikator klienta i nazwę dla wszystkich rekordów, w których wiek pochodny jest mniejszy niż wartość AGE lub przekracza 125. Wiek pochodny jest obliczany jako wartość bezwzględna różnicy między bieżącą datą i datą urodzenia.

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

Nieprawidłowy stan cywilny dzieci

Zwraca identyfikator klienta i nazwę dla wszystkich rekordów, w przypadku których dana osoba jest dzieckiem (wiek pochodny poniżej 18 lat), a stan cywilny nie jest taki sam. Wiek pochodny jest obliczany jako wartość bezwzględna różnicy między bieżącą datą i datą urodzenia.

select CLIENT_ID, NAME from SCHEMA.CUSTOMERS where abs(DAYS(CURRENT DATE) - DAYS(DATEOFBIRTH))/365 < 18 AND MARITAL_STATUS <> 'N'

Numer karty kredytowej nie jest zgodny z formatem

Zwraca identyfikator klienta i nazwę dla wszystkich rekordów, w przypadku których numer karty kredytowej nie jest zgodny z określonym formatem.

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 nie jest zgodny z formatem

Zwraca identyfikator klienta i nazwę dla wszystkich rekordów, dla których numer ubezpieczenia społecznego (SSN) nie jest zgodny z określonym formatem.

select CLIENT_ID, NAME from SCHEMA.CUSTOMERS where NOT regexp_like(SSN, '^[0-9]{3}-[0-9]{2}-[0-9]{4}$')

Podłańcuch nie jest zgodny z pozycjami na liście odwołań

Zwraca identyfikator klienta i nazwę dla wszystkich rekordów, w przypadku których podłańcuch wartości tekstowej zaczynający się od pozycji 3 dla długości 3 nie znajduje się na udostępnionej liście odwołań.

select CLIENT_ID, NAME from SCHEMA.CUSTOMERS where substring(TEXTFIELD, 3, 3) not in ('AAA','AAB','BAA','CCC')

Temat nadrzędny: Tworzenie reguł jakości danych opartych na języku SQL

Generative AI search and answer
These answers are generated by a large language model in watsonx.ai based on content from the product documentation. Learn more