SQL辞典

【SQL日付関数】DATEADD – 日付(日時)を加算する(SQL Server)

投稿日:2009年9月7日 更新日:

SQL ServerではDATEADD関数を使って、日付型の値に日時を加算する事ができます。

構文:

DATEADD(element, value, target)

targetにvalueで指定した値を加算する。elementにvalueの日付要素を記述する。日付要素は以下のようなものがある。
year(yy or yyyy) : 年
quarter(qq or q) : 四半期
month(mm or m) : 月
dayofyear(dy or y) : 年始からの日数
day(dd, d) : 日
week(wk, w) : 週
weekday(dw) : 曜日
hour(hh) : 時
minute(mi or n) : 分
second(ss) : 秒
millisecond(ms, s) : ミリ秒

使用例:birthday列の値の20日後の日付を求める。

SELECT birthday, DATEADD(day, 20, birthday) FROM tbEmpTable;

birthday               DATEADD(day, 20, birthday)
————————————————————
1970-08-01 00:00:00.000    1970-08-21 00:00:00.000

使用例:birthday列の値に14時間を加算する。

SELECT birthday, DATEADD(hour, 14, birthday) FROM tbEmpTable;

birthday               DATEADD(hour, 14, birthday)
———————————————————–
1970-08-01 00:00:00.000    1970-08-01 14:00:00.000

使用例:birthday列の値に2週間分の日付を加算する。

SELECT birthday, DATEADD(week, 2, birthday) FROM tbTestTable;

birthday              DATEADD(week, 2, birthday)
———————————————————-
1970-08-01 14:00:00.000    1970-08-15 14:00:00.000

SQLコマンド辞典に戻る

広告

広告

-SQL辞典


comment

関連記事

no image

【SQL算術関数】ROUND – 四捨五入を行う(まるめる)(Oracle、SQL Server)

ROUND関数は数値を四捨五入する関数ですが、MS SQLとOracleでは若干使い方が違います。OracleではROUND関数の引数に指定した数値を四捨五入しますが、MS SQLの場合は四捨五入する …

no image

【SQL日付関数】DATEDIFF – 日付と日付の差を取得する(SQL Server)

SQL ServerではDATEDIFF関数を使って、日付と日付の差を取得することができます。 文法: DATEDIFF(element, d1, d2) d1とd2の日付の差をelementで指定し …

no image

【SQL変換関数】ISNULL - NULL値を変換する (SQL Server)

SQL ServerでNULL値を別の値に変換するには、ISNULL関数を使用します。演算式の中にNULL値が入っていると不都合な結果になる場合があります。その場合、NULL値を別の値に変換する事で対 …

no image

【SQL文字列関数】TRIM – 指定文字の削除(Oracle)

Oracleで文字列から指定した文字を削除するにはTRIM関数を使用します。TRIM関数では、先頭・末尾にある文字しか削除することができません。またSQL Serverでは使用できません。 文法: T …

no image

【SQL集計関数】AVG関数 ? 平均値を求める (Oracle、SQL Server)

平均値を求めるには、AVG関数を使います。 使用例:全社員の給料の平均値を求める SELECT AVG(salary) FROM tbSalaryTable; AVG(salary) —& …

広告

転職