SQL Serverにさまざまな日付範囲を保持するテーブルがあります。私は日付スタンプが上記の範囲のいずれかに存在しない別のテーブルからレコードを選択する必要が日付が複数の日付範囲のテーブルにないレコードを選択するSQL Server
start_date end_date
======================= =======================
2011-02-21 00:00:00.000 2011-02-25 00:00:00.000
2011-04-18 00:00:00.000 2011-04-29 00:00:00.000
2011-05-31 00:00:00.000 2011-06-03 00:00:00.000
2011-07-21 00:00:00.000 2011-08-31 00:00:00.000
2011-10-24 00:00:00.000 2011-10-28 00:00:00.000
2011-12-19 00:00:00.000 2012-01-02 00:00:00.000
2012-02-13 00:00:00.000 2012-02-17 00:00:00.000
2012-04-02 00:00:00.000 2012-04-13 00:00:00.000
2012-06-04 00:00:00.000 2012-06-08 00:00:00.000
2012-07-20 00:00:00.000 2012-08-31 00:00:00.000
2012-10-29 00:00:00.000 2012-11-02 00:00:00.000
2012-12-24 00:00:00.000 2013-01-01 00:00:00.000
2013-02-10 00:00:00.000 2013-02-16 00:00:00.000
2013-03-24 00:00:00.000 2013-04-06 00:00:00.000
2013-05-26 00:00:00.000 2013-06-01 00:00:00.000
2013-07-24 00:00:00.000 2013-08-31 00:00:00.000
2013-10-27 00:00:00.000 2013-11-02 00:00:00.000
- :以下のよう
表は、開始日と終了日を持っています。
上記の表の開始日と終了日が同じ場合があります。これは、除外する日が1日だけであることを示しています。
私の最初のアイデアは、上記の範囲のすべての日付を拡張し、次に存在しないSELECTを実行するか、これを達成するより効率的な方法がありますか?
もう1つのテーブルには日付のみが格納されているか、時間が含まれているかどうかは関係ありません。たとえば、除外表'02/02/2012 'を開始日と終了日とし、'02/02/2012 12:00'の値を比較することができます。提出された回答のほとんどで、これは除外されないため、重要な情報のようです。 – GarethD
投稿ごとに、日付は次の形式になります。2012-12-24 00:00:00.000 いつものように見えます00:00:00.000 – JsonStatham