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