sql >> データベース >  >> RDS >> Oracle

SQLを使用して欠落している日付を検索する

    これにより、1年間、すべての行方不明の日が表示されます( SQL Fiddle

    all_dates 2012年のすべての日付のリストを生成し(必要に応じて調整)、LEFT JOIN IS NULLをチェックしています ソーステーブルに存在する日付を削除します。

    WITH all_dates AS (
      SELECT TO_DATE('01-jan-2012') + ROWNUM - 1 AS d
      FROM dual
      CONNECT BY ROWNUM <= ADD_MONTHS(TO_DATE('01-jan-2012'), 12 ) - TO_DATE('01-jan-2012')
    )
    SELECT all_dates.d
    FROM all_dates
    LEFT JOIN t ON ( t.d = all_dates.d )
    WHERE t.d IS NULL
    ORDER BY all_dates.d
    ;
    

    日付を3回ハードコーディングするのではなく、必ずバインド変数を使用してください。



    1. NOTIN句内のNULL値

    2. プラグインを使用せずにCKEditorで画像をアップロードする

    3. AndroidStudioをSQLServerデータベースに接続するにはどうすればよいですか?

    4. 1つの列でアイテムの数とその値を取得します