日付の重複をSQLで検索する

公開日: : 最終更新日:2014/03/10 SQL Server , , ,

SQLを使って期間の重複を見つけ出す

SQLを使って、開始日付、終了日付を持っているレコードの
期間の重複を検索して見ます。

テーブルの準備

まずは以下のようなレコードに有効期限を管理する開始日付、終了日付を
持ったテーブルを作成します。

レコード作成

次に以下のように開始日付と終了日付が重複したレコードを作成します。

data_cd from_date to_date data_name
1 2013-01-01 2013-12-31 DATA_CD=1基準レコード
2 2012-12-01 2013-11-30 DATA_CD=2、TOが重複
2 2013-01-01 2013-12-31 DATA_CD=2基準レコード
3 2013-01-01 2013-12-31 DATA_CD=3基準レコード
3 2013-02-01 2014-01-31 DATA_CD=3、FROMが重複
4 2013-01-01 2013-12-31 DATA_CD=4基準レコード
4 2013-02-01 2013-11-30 DATA_CD=4、FROM,TOが重複
5 2012-01-01 2012-12-31 DATA_CD=5FROM,TOがともに過去
5 2013-01-01 2013-12-31 DATA_CD=5基準レコード
6 2013-01-01 2013-12-31 DATA_CD=6基準レコード
6 2014-01-01 2014-12-31 DATA_CD=5FROM,TOがともに未来

日付の重複をSQLで検索

実際に開始日付、終了日付の期間が重複しているレコードを検索してみます。

以下が実行した結果です。

data_cd data_name from_date to_date
2 DATA_CD=2、TOが重複 2012-12-01 2013-11-30
2 DATA_CD=2基準レコード 2013-01-01 2013-12-31
3 DATA_CD=3基準レコード 2013-01-01 2013-12-31
3 DATA_CD=3、FROMが重複 2013-02-01 2014-01-31
4 DATA_CD=4基準レコード 2013-01-01 2013-12-31
4 DATA_CD=4、FROM,TOが重複 2013-02-01 2013-11-30
スポンサーリンク
スポンサーリンク
  • このエントリーをはてなブックマークに追加
  • 13 follow us in feedly

関連記事

SQL Server-ストアドプロシジャーのソースを表示する1

ストアドプロシジャーのソースを表示します。

記事を読む

SQLServerで作ったテンポラリテーブルが見つからず無効になってしまう

SQLServerでテンポラリテーブルを利用して処理を行う時に 「オブジェクト名 '#tmp_ta

記事を読む

既に存在するテーブルに他のテーブルからデータをINSERTする方法

テーブルからテーブルへデータコピー 以前の投稿SELECT INTOで既存テーブルのデータを新規テ

記事を読む

SQLで文字列を3分割する

SQLで文字列を3分割する どうしてもSQLServerで特定の文字で文字列を3分割する必要が

記事を読む

SQLServerで自動で連番を設定する

カラムに自動で連番を設定する 自動で連番を設定し、レコードを管理する場合に 重宝するカラムの属性

記事を読む

SQL Server-テーブルのプライマリーキー(PK)を取得する

SQL ServerでSQLを使用してプライマリーキー(PK)を取得する必要があったので ちょっと

記事を読む

データベースに登録されている内容を固定長の長さで出力する(2)

登録されている内容を固定長の長さで出力する 先日作成したデータベースに登録されている内容を固定長の

記事を読む

SQLで指定月のカレンダー作成

ストアドプロシージャでカレンダーを作成する SQLServerでストアドプロシージャ (store

記事を読む

SQLServer

SQLServerで累積値(累積比)を求める

SQLServerで累積値(累積比)を求める SQLServerで累積値(累積比)を求めるには

記事を読む

CASE WHEN を使って条件ごとの件数を取得する

CASE WHEN を使って条件ごとの件数を取得する あるテーブルに状態を表すフラグを持たせること

記事を読む

ISNULLとCOALESCEは動作が異なる

ISNULLとCOALESCEは動作が異なるので注意が必要 とある人

TOP句で変数を使ってSQLを1行にする

TOP句で変数を使ってSQLを1行にする TOP句を使って複雑なSQ

ORDER BYでNULLのカラムを最後に表示

ORDER BYでNULLのカラムを最後に持ってくる SQLで何も考

SQL Server-登録されているストアドプロシジャーの一覧を取得する

データベースに登録されているストアドプロシジャーの 一覧を取得します

SQL Server-ストアドプロシジャーのソースを表示する1

ストアドプロシジャーのソースを表示します。

→もっと見る



PAGE TOP ↑