SQL Server
 Computer >> コンピューター >  >> プログラミング >> SQL Server

【SQL Server】DATEADD関数の使い方を徹底解説!構文と実行例まとめ

この記事では、SQL Serverの日付・時刻処理関数「DATEADD」の使い方について、具体的な構文と実行例を交えながら詳しく解説します。DATEADD関数をマスターすれば、日付の加算・減算処理を柔軟かつ正確に行えるようになります。

概要

DATEADD関数とは、指定した日付(時刻)に対して指定した期間を加算し、その結果として新しい日付・時刻の値を返す関数です。

構文

SQL ServerでDATEADD関数を使用するには、次の構文を用います。

DATEADD(datepart, number, date)

パラメータ:

  1. datepart: 加算の計算に使用する時間の単位。以下の表のいずれかの値を指定できます。
  2. number: 加算したい時間の量(数値)。
  3. date: number を加算する対象となる日付・時刻の値。

datepartに指定できる値一覧

説明
year, yyyy, yy
quarter, qq, q四半期
month, mm, m
dayofyear, dy, y年始からの通算日数
day, dd, d
week, wk, ww
weekday, dw曜日
hour, hh
minute, mi, n
second, ss, s
millisecond, msミリ秒

注意点

  1. number パラメータが 0より大きい場合、DATEADD関数はその数値分を date パラメータに加算します。
  2. number パラメータが 0未満の場合、その数値分を date パラメータから減算します。
  3. number パラメータに 小数 を指定した場合、整数部分のみ が使用され、小数部分は切り捨てられます。
  4. DATEADD関数は、SQL Server 2017、SQL Server 2016、SQL Server 2014、SQL Server 2012、SQL Server 2008 R2、SQL Server 2008、SQL Server 2005以降のバージョンで利用できます。

使用例

それでは、SQL ServerにおけるDATEADD関数の具体的な使用例を見ていきましょう。

SELECT DATEADD(year, 1, '2019/04/28');
-- 結果: '2020-04-28 00:00:00.000'

SELECT DATEADD(yyyy, 1, '2019/04/28');
-- 結果: '2020-04-28 00:00:00.000'

SELECT DATEADD(yy, 1, '2019/04/28');
-- 結果: '2020-04-28 00:00:00.000'

SELECT DATEADD(year, -1, '2019/04/28');
-- 結果: '2018-04-28 00:00:00.000'

SELECT DATEADD(month, 1, '2019/04/28');
-- 結果: '2019-05-28 00:00:00.000'

SELECT DATEADD(month, -1, '2019/04/28');
-- 結果: '2019-03-28 00:00:00.000'

SELECT DATEADD(day, 1, '2019/04/28');
-- 結果: '2019-04-29 00:00:00.000'

SELECT DATEADD(day, -1, '2019/04/28');
-- 結果: '2019-04-27 00:00:00.000'

上記の例のように、datepartに「year」を指定してnumberに「1」を渡すと1年後、「-1」を渡すと1年前の日付が返されます。同様に「month」や「day」を指定すれば、月単位・日単位での加算・減算も簡単に行えます。また、「year」「yyyy」「yy」のように、同じ単位でも複数の省略形が用意されているため、どの書き方でも同じ結果になる点は覚えておくと便利です。

  1. 【SQL Server】AVG関数の使い方を徹底解説!基本構文から実用例まで

    本記事では、SQL Serverにおける数値処理関数「AVG」の使い方を、基本構文と具体的な使用例を交えて詳しく解説します。AVG関数の動作を正しく理解し、実務のデータ集計に活かせるようにしましょう。 AVG関数とは AVG関数は、SQL Serverにおいて式の平均値、または選択された行のうち指定した列の平均値を返す集計関数です。なお、NULLの値は自動的に除外され、平均の計算対象には含まれません。 基本構文 平均値を計算するには、SQL ServerでAVG関数を次のように記述します。 SELECT AVG(列名)FROM テーブル名[WHERE 条件]; パラメータの説明: 列名:平均

  2. 【SQL Server】DATEADD関数の使い方を徹底解説!構文と実行例まとめ

    この記事では、SQL Serverの日付・時刻処理関数「DATEADD」の使い方について、具体的な構文と実行例を交えながら詳しく解説します。DATEADD関数をマスターすれば、日付の加算・減算処理を柔軟かつ正確に行えるようになります。 概要 DATEADD関数とは、指定した日付(時刻)に対して指定した期間を加算し、その結果として新しい日付・時刻の値を返す関数です。 構文 SQL ServerでDATEADD関数を使用するには、次の構文を用います。 DATEADD(datepart, number, date) パラメータ: datepart: 加算の計算に使用する時間の単位。以下の表のい