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文字列変換】UPPER – 大文字に変換(Oracle、SQL Server)

OracleやSQL Serverで文字列を大文字に変換するには、UPPER関数を使います。使い方は簡単です。 構文: UPPER(word) wordを大文字に変換する 使用例:社員名を大文字に変換 …

no image

【SQL算術関数】RAND – 乱数を取得する(SQL Server)

SQL Serverで乱数を取得するにはRAND関数を使います。使用例のようにRAND関数を実行するたびに乱数が発生しますが、乱数の種を指定すると、1つの乱数を返します。 文法: RAND( [see …

no image

【SQL集計関数】MAX関数 ? 最大値を返す (SQL Server、Oracle)

指定した列の最大値を返すには、MAX関数を使います。数値、文字列、日付の最大値を求める事が可能です。 使用例:社員の一番高い給料を返す SELECT MAX(salary) FROM tbEmpTab …

no image

【SQL文字列関数】CHARINDEX – 文字列の位置を求める(SQL Server)

SQL ServerのCHARINDEX関数は文字列の位置を返します。例えば、「Windows」という文字列からdの位置を求めると4となります。sの位置は7となります。大文字小文字の区別はありません。 …

no image

【SQL算術関数】EXP – 指数値を求める (Oracle、SQL Server)

OracleやSQL Serverで指数値を求めるには、EXP関数を使います。 EXP(n) eのn乗を計算する。eとはネイピア数の事を言い、e=2.71828…である。 使用例:x列の指 …

広告

転職