Estos ejemplos muestran cómo puede configurar las reglas SQL.
Puede copiar las sentencias SQL proporcionadas en sus propias reglas de calidad de datos y ajustarlas según sea necesario.
La dirección no existe
Devuelve el ID de cliente y el nombre de todos los registros en los que no existe una dirección (comprobación de valor nulo y en blanco).
select CLIENT_ID, NAME from SCHEMA.CUSTOMERS where ADDRESS is null or length(trim(ADDRESS))=0
Falta el tipo de dirección o no está en la lista de referencia
Devuelve el ID de cliente y el nombre de todos los registros en los que no existe un tipo de dirección (comprobación de valor nulo y en blanco) o no está en la lista de referencia.
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')
La edad está fuera del rango
Devuelve el ID de cliente y el nombre de todos los registros en los que la edad derivada es menor que el valor AGE o es mayor que 125. La edad derivada se calcula como el valor absoluto de la diferencia entre la fecha actual y la fecha de nacimiento.
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
Estado civil incorrecto de los hijos
Devuelve el ID de cliente y el nombre de todos los registros en los que la persona es un hijo (la edad derivada por debajo de 18 años) y el estado civil no es no. La edad derivada se calcula como el valor absoluto de la diferencia entre la fecha actual y la fecha de nacimiento.
select CLIENT_ID, NAME from SCHEMA.CUSTOMERS where abs(DAYS(CURRENT DATE) - DAYS(DATEOFBIRTH))/365 < 18 AND MARITAL_STATUS <> 'N'
El número de tarjeta de crédito no coincide con el formato
Devuelve el ID de cliente y el nombre de todos los registros en los que el número de tarjeta de crédito no coincide con el formato especificado.
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})$')
El SSN no coincide con el formato
Devuelve el ID de cliente y el nombre de todos los registros en los que un número de seguridad social (SSN) no coincide con el formato especificado.
select CLIENT_ID, NAME from SCHEMA.CUSTOMERS where NOT regexp_like(SSN, '^[0-9]{3}-[0-9]{2}-[0-9]{4}$')
La subserie no coincide con las entradas de la lista de referencia
Devuelve el ID de cliente y el nombre de todos los registros en los que la subserie de un valor de texto que empieza en la posición 3 para la longitud 3 no está en la lista de referencia proporcionada.
select CLIENT_ID, NAME from SCHEMA.CUSTOMERS where substring(TEXTFIELD, 3, 3) not in ('AAA','AAB','BAA','CCC')
Tema padre: Creación de reglas de calidad de datos basadas en SQL