資料の 英語版 に戻るデータ品質規則のサンプル SQL ステートメント
データ品質規則のサンプル SQL ステートメント
最終更新: 2024年10月07日
これらのサンプルは、SQL 規則をセットアップする方法を示しています。
提供された SQL ステートメントを独自のデータ品質ルールにコピーし、必要に応じて調整することができます。
アドレスが存在しません
アドレスが存在しないすべてのレコードのクライアント ID と名前を戻します (ヌル値検査およびブランク値検査)。
select CLIENT_ID, NAME from SCHEMA.CUSTOMERS where ADDRESS is null or length(trim(ADDRESS))=0
アドレス・タイプが欠落しているか、参照リストにありません
アドレス・タイプが存在しないか (NULL およびブランク値の検査)、参照リストに存在しないすべてのレコードのクライアント 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 歳未満の派生年齢) であり、婚姻状況が「いいえ」ではないすべてのレコードのクライアント 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 ベースのデータ品質ルールの作成