SQL DATEADD

概要: このチュートリアルでは、SQLのDATEADD()関数を使用して、日付に間隔を追加する方法を学習します。

構文

年、月、日などの間隔を日付に追加するには、SQLのDATEADD()関数を使用します。 以下はその構文を示しています。

DATEADD (datepart , number , date )
Code language: SQL (Structured Query Language) (sql)

DATEADD()関数は、SQL Serverのみがサポートすることに注意してください。

引数

datepart

datepart引数は、間隔を追加する日付の一部です。 以下の表に有効なdatepartを示します。

有効な日付部分略語
yy, yyyy
四半期qq, q
mm, m
年の日数dy, y
dd, d
wk, ww
曜日dw, w
時間hh
mi, n
ss, s
ミリ秒ms
マイクロ秒mcs
ナノ秒ns

数値

numberは、整数定数または整数に評価される式であり、関数はdatedatepartに追加されます。

日付

dateは、間隔を追加する日付です。 リテラル、またはDATEまたはDATETIME値に評価される式にすることができます。

戻り値の型

DATEADD()関数は、日付引数のデータ型と同じデータ型を返します。

次の例では、日付に1年を追加します。

--- add 1 year to a date
SELECT DATEADD(year, 1, '2018-01-01');
Code language: SQL (Structured Query Language) (sql)

結果は次のとおりです。

2019-01-01 00:00:00.000
Code language: SQL (Structured Query Language) (sql)

次の例では、日付に2か月を追加します。

-- add 2 months to a date
SELECT DATEADD(month, 2, '2018-01-01');
Code language: SQL (Structured Query Language) (sql)

結果は次のとおりです。

2018-03-01 00:00:00.000Code language: SQL (Structured Query Language) (sql)

次の例は、日付に30日を追加する方法を示しています。

-- add 30 days to a date 
SELECT DATEADD(day, 30, '2018-01-01');
Code language: SQL (Structured Query Language) (sql)

結果は次のとおりです。

2018-01-31 00:00:00.000
Code language: SQL (Structured Query Language) (sql)

日付への間隔の追加に加えて、DATEADD()関数を使用して、日付から間隔を減算することもできます。 次の例を参照してください。

SELECT DATEADD(day,-1,'2018-01-01');
Code language: SQL (Structured Query Language) (sql)

この例では、2018年1月1日の日付から1日を減算しました。その結果は次のとおりです。

2017-12-31 00:00:00.000
Code language: SQL (Structured Query Language) (sql)

このチュートリアルでは、SQLのDATEADD()関数を使用して、日付に間隔を追加する方法を学習しました。

このチュートリアルは役に立ちましたか?