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算術関数】TRUNC – 数値を切り捨てる(Oracle)

Oracleで数値を切り捨てるにはTRUNC関数を使います。SQL ServerはROUND関数を使って四捨五入と切り捨ての両方の処理を行う事ができます。 文法: TRUNC(value [ , d …

no image

【SQL変換関数】COALESCE – NULL値でない最初の引数を返す(Oracle、SQL Server)

COALESCE関数は複数の引数を持ち、その引数を最初から評価して最初にNULL値でない引数を返します。難しそうですが、例を見ると使い方が簡単な関数だという事がわかります。COALESCE関数はOra …

no image

【SQL算術関数】SIGN – 符号を取得する(Oracle、SQL Server)

SQL ServerやOracleで数値の符号を取得するにはSIGN関数を使います。数値がプラスの時は1、マイナスの場合は-1、ゼロの場合は0を返します。 構文: SIGN(value) valueの …

no image

【SQL算術関数】SQUARE – 値を2乗する(SQL Server)

SQL Serverで、値を2乗するにはSQUARE関数を使います。 文法: SQUARE(value) valueの値を2乗する。 使用例:ポイントを2乗する。 SELECT point, SQUA …

広告

転職