영어 버전 문서로 돌아가기데이터 품질 규칙에 대한 샘플 SQL문
데이터 품질 규칙에 대한 샘플 SQL문
마지막 업데이트 날짜: 2024년 10월 07일
이 샘플은 SQL 규칙을 설정하는 방법을 보여줍니다.
제공된 SQL문을 사용자 고유의 데이터 품질 규칙으로 복사하고 필요에 따라 조정할 수 있습니다.
주소가 없습니다.
주소가 존재하지 않는 모든 레코드의 클라이언트 ID및 이름을 리턴합니다 (널 및 공백 값 검사).
select CLIENT_ID, NAME from SCHEMA.CUSTOMERS where ADDRESS is null or length(trim(ADDRESS))=0
주소 유형이 누락되었거나 참조 목록에 없습니다.
주소 유형이 존재하지 않거나 (널 및 공백 값 검사) 참조 목록에 없는 모든 레코드의 클라이언트 ID및 이름을 리턴합니다.
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')
유효 기간이 범위를 벗어남
파생된 연령이 AGE값보다 작거나 125를 초과하는 모든 레코드의 클라이언트 ID및 이름을 리턴합니다. 파생된 연령은 현재 날짜와 생년월일 간 차이의 절대값으로 계산됩니다.
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
자녀의 결혼 여부가 올바르지 않습니다.
개인이 아동이고 (파생 연령이 18세미만) 결혼 여부가 no가 아닌 모든 레코드의 클라이언트 ID및 이름을 리턴합니다. 파생된 연령은 현재 날짜와 생년월일 간 차이의 절대값으로 계산됩니다.
select CLIENT_ID, NAME from SCHEMA.CUSTOMERS where abs(DAYS(CURRENT DATE) - DAYS(DATEOFBIRTH))/365 < 18 AND MARITAL_STATUS <> 'N'
신용 카드 번호가 형식과 일치하지 않습니다.
신용 카드 번호가 지정된 형식과 일치하지 않는 모든 레코드의 클라이언트 ID및 이름을 리턴합니다.
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이 형식과 일치하지 않습니다.
주민등록번호 (SSN) 가 지정된 형식과 일치하지 않는 모든 레코드의 클라이언트 ID및 이름을 리턴합니다.
select CLIENT_ID, NAME from SCHEMA.CUSTOMERS where NOT regexp_like(SSN, '^[0-9]{3}-[0-9]{2}-[0-9]{4}$')
하위 문자열이 참조 목록의 항목과 일치하지 않습니다.
길이가 3인 위치 3에서 시작하는 텍스트 값의 하위 문자열이 제공된 참조 목록에 없는 모든 레코드의 클라이언트 ID및 이름을 리턴합니다.
select CLIENT_ID, NAME from SCHEMA.CUSTOMERS where substring(TEXTFIELD, 3, 3) not in ('AAA','AAB','BAA','CCC')
상위 주제: SQL 기반 데이터 품질 규칙 작성