.NETエンジニア・プログラマ向けの技術情報・業界ニュースをお届けします。

  1. FEnet.NETナビ
  2. .NETコラム
  3. データベース
  4. SQL Server
  5. SQL ServerのDATEDIFFの使い方【日付の差を求める】

SQL ServerのDATEDIFFの使い方【日付の差を求める】

  • SQL Server
  • データベース
公開日時:   更新日時:
SQL ServerのDATEDIFFの使い方【日付の差を求める】
この記事でわかること
    基本情報技術者試験の試験対策はこちら>>

    SQL Serverには「Date」のような日付型が存在します。また、日付の計算において様々な便利に使える関数も用意されています。
    今回は日付関数の一部を紹介していきますので、ぜひ参考にしてみてください。

    システム
    エンジニア
    SQL Serverで日付同士の差はどのように求められるのでしょうか?テーブルとしては以下が用意されており、StartDateとEndDateの差を求めたいのですが……。

    【Sampleテーブル】

    行番号 StartDate(日付型) EndDate(日付型)
    1 2020-01-01 2020-01-31
    2 2020-02-01 2020-02-29
    プロジェクト
    リーダー
    なるほど、日付型の列同士の差分を求めたいのですね。それでは、「DATEDIFF」について解説していきましょう。

    DATEDIFFの活用例

    SQL Serverにて、指定された2つの日付の差を求めたい場合はDATEDIFF関数を用いることができます。差分の単位も指定することが可能なので、月日や秒単位など、必要に応じた単位で差分を求めることができます。

    ※「datepart」が差分の単位を表しており、日単位の場合は「day」、月単位の場合は「month」などのさまざまな単位で指定可能です。

    出力結果

    行番号 StartDate EndDate Diff
    1 2020-01-01 2020-01-31 30
    2 2020-02-01 2020-02-29 28

    →「StarDate」と「EndDate」の差分(day:日単位)が「Diff」に出力されます。

    DATEADDを用いた例

    SQL Serverでは、他にもさまざまな日付関数が備わっています。例えば、指定した日付に任意の値を加算したい場合は「DATEADD」関数を用いることができます。

    ※「datepart」は前述と同じく、差分の単位を指定します。

    出力結果

    行番号 StartDate AddDate
    1 2020-01-01 2020-02-01
    2 2020-02-01 2020-03-01

    →「StartDate」に1カ月加算した日付が「AddDate」に出力されます。

    システム
    エンジニア
    解説ありがとうございます。DATEDIFF関数を使用して日付同士の差を求めることができそうです。
    プロジェクト
    リーダー
    そうですね。他にもさまざまな日付関数が用意されているので、この機会に勉強してみてくださいね。

    日付型を扱う際に使える関数

    今回はSQL Serverについて、日付関数の一部を紹介しました。
    データ上は日付を文字列型として保存するケースもあるかと思いますが、その際はまず日付型に変換することも忘れないようにしましょう。DATEDIFF関数をぜひこれから使ってみてください。

    FEnet.NETナビ・.NETコラムは株式会社オープンアップシステムが運営しています。
    株式会社オープンアップシステムロゴ

    株式会社オープンアップシステムはこんな会社です

    秋葉原オフィスには株式会社オープンアップシステムをはじめグループのIT企業が集結!
    数多くのエンジニアが集まります。

    秋葉原オフィスイメージ
    • スマホアプリから業務系システムまで

      スマホアプリから業務系システムまで

      スマホアプリから業務系システムまで開発案件多数。システムエンジニア・プログラマーとしての多彩なキャリアパスがあります。

    • 充実した研修制度

      充実した研修制度

      毎年、IT技術のトレンドや社員の要望に合わせて、カリキュラムを刷新し展開しています。社内講師の丁寧なサポートを受けながら、自分のペースで学ぶことができます。

    • 資格取得を応援

      資格取得を応援

      スキルアップしたい社員を応援するために資格取得一時金制度を設けています。受験料(実費)と合わせて資格レベルに合わせた最大10万円の一時金も支給しています。

    • 東証プライム上場企業グループ

      東証プライム上場企業グループ

      オープンアップシステムは東証プライム上場「株式会社オープンアップグループ」のグループ企業です。

      安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。

    株式会社オープンアップシステムに興味を持った方へ

    株式会社オープンアップシステムでは、開発系エンジニア・プログラマを募集しています。

    年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
    まずは話だけでも聞いてみたい場合もOK。お気軽にご登録ください。

    株式会社オープンアップシステムへのご応募はこちら↓
    株式会社オープンアップシステムへのご応募はこちら↓

    SQLServer新着案件New Job