日付の重複を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

関連記事

SQLServerのバージョン番号を取得する方法

SQLServerのバージョン番号を取得する SQLServerのバージョン番号は「@@VERSI

記事を読む

Transact-SQLで動的にSQLを編集してカーソルを使用する

2時間もハマったのでメモ書きとして記述します。 Transact-SQLで動的にSQLを編集し

記事を読む

SQLServerでテーブルの存在を確認する

データベース内のテーブル情報をから存在を確認する プログラムで動的にテーブルを作成したりする場合に

記事を読む

SQLServerのテーブルやカラムにコメントをつける方法

SQLServerでテーブルやカラムにコメントをつける SQLServerで作成したテーブルやカラ

記事を読む

システム日付を取得する

様々な関数でコンピューターのシステム日付を取得する SQLServerのインスタンスを実行している

記事を読む

SQLServer

SQLServerで取得した値を3ケタずつのカンマ区切りの表示に変更する方法です

SQLServerで取得した値を3ケタずつのカンマ区切りの表示に変更する方法です。 3ケタずつ

記事を読む

SQLでランダムにユニーク(一意)な値(ID)を取得する

ランダムにユニーク(一意)な値(ID)を取得する SQLServerでテーブル内でユニークキーをラ

記事を読む

SQLServer

GROUP BYとHAVINGを使ってデータの重複を探しだすSQL

GROUP BYとHAVINGで重複を探す SQLでGROUP BYとHAVINGを使ってデー

記事を読む

SQLServerでホスト名を取得する

SQLServerが動作しているホスト(サーバ)名取得 SQLServerでSQLServerが動

記事を読む

SQLで順位を取得するRANK()とDENSE_RANK()

SQLで順位を取得する SQLServerで項目の順位付け関数を利用して 順位をします。

記事を読む

SQLでCASE~WHENを使ってみる(2)

CASE~WHENはSQLでCASE~WHENを使ってみるとは別に

SQLServer
SQLで検索結果を縦横変換する

SQLで検索結果を縦横変換する SQLで取得した各行を一定のくくりで

SQLServerでホスト名を取得する

SQLServerが動作しているホスト(サーバ)名取得 SQLSer

SQLServerのエラーコード一覧

SQLServerで発生するエラーコードとその内容を表にしてみました。

SQLServer
SQLServerで引数の順序を考慮せずに呼び出せるストアドプロシジャを作る

引数の順序を考慮せずに呼び出せるストアドプロシジャ ストアドプロシジ

→もっと見る



PAGE TOP ↑