DATEPART (Transact-SQL)
指定された日付について、特定の日付要素を整数で返します。
構文
DATEPART ( datepart , 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
hour
hh
minute
mi, n
second
ss, s
millisecond
ms
日付要素 week (wk, ww) には、SET DATEFIRST に加えられた変更が反映されます。1 月 1 日が日付要素 week の開始日となります。たとえば、DATEPART(wk,'Jan 1, xxxx') = 1 となります。ここで、xxxx には任意の年を指定できます。
日付要素 weekday (dw) は、曜日に対応する数値を返します。たとえば、日曜日 = 1、土曜日 = 7 となります。日付要素 weekday によって得られる数値は、SET DATEFIRST によって設定される値に応じて異なります。このオプションは、週の最初の曜日を設定します。
date
datetime 型または smalldatetime 型の値を返す式、または日付形式の文字列を指定します。1753 年 1 月 1 日以降の日付には、datetime 型のみ使用してください。それ以前の日付は文字データとして保存されます。datetime 型の値を入力するときは、その値を常に引用符で囲みます。smalldatetime の精度は分単位であるため、smalldatetime 型の値を使用する場合、秒とミリ秒は常に 0 になります。年を下 2 桁のみで指定した場合、その数値が two-digit year cutoff 構成オプションに指定されている終了年の下 2 桁の数値以下であれば、終了年と同じ世紀であると見なされます。終了年の下 2 桁の数値より大きい場合は、終了年の世紀の前の世紀であると見なされます。たとえば、two-digit year cutoff が 2049 (既定) であるとすると、49 は 2049 と認識され、50 は 1950 と認識されます。このあいまいな状態を避けるためには、4 桁の西暦を使用して表記します。
時刻値の指定の詳細については、「時刻形式」を参照してください。日付の指定の詳細については、「日付と時刻 (Transact-SQL)」を参照してください。
戻り値の型
int
解説
DAY、MONTH、および YEAR 関数は、それぞれ DATEPART(**dd,**date)、DATEPART(mm,date)、および DATEPART(yy, date) のシノニムです。
例
GETDATE 関数は、現在の日付を返します。ただし、比較には常に完全な日付が必要なわけではなく、日付の一部分のみが比較されることがよくあります。次の例では、GETDATE
と DATEPART
の出力を示します。
SELECT GETDATE() AS 'Current Date'
GO
以下に結果セットを示します。
Current Date
---------------------------
Feb 18 1998 11:46PM
SELECT DATEPART(month, GETDATE()) AS 'Month Number'
GO
以下に結果セットを示します。
Month Number
------------
2
次の例では、日付を 5 月 29 日と仮定しています。
SELECT DATEPART(month, GETDATE())
GO
以下に結果セットを示します。
-----------
5
(1 row(s) affected)
次の例では、日付が値で指定されます。SQL Server は、0 を 1900 年 1 月 1 日と解釈することに注意してください。
SELECT DATEPART(m, 0), DATEPART(d, 0), DATEPART(yy, 0)
以下に結果セットを示します。
----- ------ ------
1 1 1900
参照
関連項目
CAST および CONVERT (Transact-SQL)
データ型 (Transact-SQL)
日付と時刻関数 (Transact-SQL)
その他の技術情報
ISO 8601 形式
アルファベット日付形式
数値日付形式
ODBC 日付時刻形式
時刻形式
区切りのない文字列形式