概要: このチュートリアルでは、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
は、整数定数または整数に評価される式であり、関数はdate
のdatepart
に追加されます。
日付
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.000
Code 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()
関数を使用して、日付に間隔を追加する方法を学習しました。
このチュートリアルは役に立ちましたか?