次の方法で共有


DATEADD (Transact-SQL)

更新 : 2006 年 4 月 14 日

指定された日付にある期間を加えた新しい datetime 型の値を返します。

トピック リンク アイコンTransact-SQL 構文表記規則

構文

DATEADD (datepart , number, date )

引数

  • datepart
    新しい値を返す日付の要素を指定するパラメータです。次の表に、日付の要素 (datepart) と Microsoft SQL Server 2005 で認識される省略形を示します。

    datepart 省略形

    year

    yy, yyyy

    quarter

    qq, q

    month

    mm, m

    dayofyear

    dy, y

    day

    dd, d

    week

    wk, ww

    weekday

    dw, w

    hour

    hh

    minute

    mi, n

    second

    ss, s

    millisecond

    ms

  • number
    datepart に加算される値です。整数以外の値を指定すると、値の小数部が破棄されます。たとえば、datepartday を指定し、number1.75 を指定した場合、date は 1 ずつ増加します。
  • date
    datetime 型または smalldatetime 型の値を返す、または日付形式の文字列です。日付の指定方法の詳細については、「日付と時刻 (Transact-SQL)」を参照してください。

    年を下 2 桁のみで指定した場合、その数値が two digit year cutoff 構成オプションに指定されている終了年の下 2 桁の数値以下であれば、終了年と同じ世紀であると見なされます。終了年の下 2 桁の数値より大きい場合は、終了年の世紀の前の世紀であると見なされます。たとえば、two-digit year cutoff が 2049 (既定) であるとすると、49 は 2049 と認識され、2050 は 1950 と認識されます。このあいまいな状態を避けるためには、4 桁の西暦を使用して表記します。

戻り値の型

datetime を返します。ただし、date 引数が smalldatetime 型の場合は、smalldatetime 型を返します。

解説

datepart が月の場合、その月の日数が結果に反映されます。たとえば、8 月は 31 日、9 月は 30 日あります。次の両方のステートメントでは、2006-09-30 00:00:00.000 が返されます。

SELECT DATEADD(month, 1, '08/30/2006')
SELECT DATEADD(month, 1, '08/31/2006')

つまり、8 月の末日に 1 か月を追加すると、9 月の末日が返されます。

次の例では、AdventureWorks データベース内の注文のタイムフレームの一覧を出力します。このタイムフレームは、データ上の注文日に 21 日を加えた日付になります。

USE AdventureWorks;
GO
SELECT DATEADD(day, 21, OrderDate)AS TimeFrame 
FROM Sales.SalesOrderHeader;
GO

参照

関連項目

CAST および CONVERT (Transact-SQL)
データ型 (Transact-SQL)
日付と時刻関数 (Transact-SQL)

その他の技術情報

ISO 8601 形式
アルファベット日付形式
数値日付形式
ODBC 日付時刻形式
時刻形式
区切りのない文字列形式

ヘルプおよび情報

SQL Server 2005 の参考資料の入手

変更履歴

リリース 履歴

2006 年 4 月 14 日

新しい内容 :
  • 「解説」を追加しました。