I次のデータセットがあります。ここにSQL Serverの - 見つける不在日の出現箇所
が入力画像の説明ここで
は、このデータのためのスクリプトです:
;データセットとAS( 選択 'EMP01' AS EMP_ID、CAST( '2018-01-01' AS DATE)AS PERIOD_START、CAST( '2018-01-31' AS日付)AS PERIOD_END、CAST('2018-01-07 '日付)AS CUT_DATE UNION select 'EMP01' AS EMP_ID、CAST( '2018-01-01' AS DATE)AS PERIOD_START、CAST( '2018-01-31' AS DATE)AS PERIOD_END、CAST( '2018-01-15' AS日付)AS CUT_DATE UNION 「EMP02」AS EMP_ID、CAST( '2018-01-01' AS日付)AS PERIOD_START、CAST( '2018-01-31' AS日付)AS PERIOD_END、CAST( '2018-01-09' AS (PERIOD_STARTとPERIOD_END)をCUT_DATEで除算する必要があります(その期間のカット日を除外します)。カット日数は任意です(3,5,8など) 。
上記のデータセットの結果は、次のとおりです。
だから、あなたは何を試してみましたか?どこが間違っていますか? –
Googleでかなりうまくカバーしています... https://stackoverflow.com/questions/20402089/detect-consecutive-dates-ranges-using-sql – Simon
これは「ギャップと島」の問題として知られています。そのキーワードの下にいくつかの解決策があります。 – Stavr00