SQL道場 日付時刻関数 DATEPART関数

SQLで日付値から任意の日付要素の数値を取得するDATEPART関数について記載しています。

対応データベース:SQLServer Access

DATEDIFF関数の文法

SELECT DATEPART(日付要素,日付) FROM テーブル
SELECT DATEPART(date elements, date) FROM table

その他

引数
Arguments
日付要素
Date element
文字列型
String type
日付1
Date1
文字列型
String type
返値
return value
文字型 日付要素が数値で戻ります。
Returns the character date element as a number.

SQLServer

引数
Arguments
日付要素
Date element
SQL Server、Accessの日付の要素
SQL Server, Access Date Element
開始日付
Start Date
以下のいずれかの値で解決できる式
(An expression that can be resolved by one of the following values:)
・date
・datetime
・datetimeoffset
・datetime2
・smalldatetime
・time
終了日付
End Date
開始日付と同様
Similar to Start Date
返値
return value
int返値参照
See Return Value

返値

日付要素
Date element
戻り値
Return value
year、yyyy、yy2008
quarter、qq、q4
month、mm、m12
dayofyear、dy、y303
day、dd、d30
week、wk、ww44
weekday、dw3
hour、hh12
minute、n15
second、ss、s32
millisecond、ms123
microsecond、mcs123456
nanosecond、ns123456700
tzoffset, tz310
iso_week, isowk, isoww44

DATEPART関数は指定された日付の日付要素を数値で戻します。MS公式サイト

SQL Server、Accessの日付の要素

SQL Server省略形
abbreviation
Access
yearyy,yyyyyyyy
四半期quarterqq,qq
monthmm,mm
年始からの通算日dayofyeardy,yy
daydd,dd
weekwk,wwww
曜日weekdaydww
時間hourhhh
minutemi,nn
secondss,ss
ミリ秒millisecondms
マイクロ秒microsecondmcs
ナノ秒nanosecondns
tzoffsettz
iso_weekisowk、isoww

実行例

SQLServerの実行例

/* SQL Server 2009/12/31の年始からの日数を取得するサンプル */
SELECT DATEPART(DAYOFYEAR,'2009-12-31');  
DATEPART関数サンプル実行結果

曜日を取得

/* SQL Server 2009/12/01の曜日を取得するサンプル */
SELECT DATEPART(WEEKDAY,'2009-12-01');  

曜日は1~7の数値が返されます。数値の意味は以下となります。

返される値曜日
1
2
3
4
5
6
7
DATEPART関数サンプル実行結果