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

SQL SQL
この記事は約3分で読めます。

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

対応データベース:SQL Server Access

DATEDIFF関数の文法

SELECT DATEPART(日付要素,日付) FROM テーブル
引数日付要素文字列型
日付1文字列型
返値文字型 日付要素が数値で戻ります。

SQLServer

引数日付要素SQL Server、Accessの日付の要素
開始日付以下のいずれかの値で解決できる式
date
datetime
datetimeoffset
datetime2
smalldatetime
time
終了日付開始日付と同様
返値int返値参照

返値

日付要素戻り値
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関数は指定された日付の日付要素を数値で戻します。

DATEPART (Transact-SQL) - SQL Server
DATEPART 関数の Transact-SQL リファレンス。 この関数では、指定日付の datepart に対応する整数が返されます。

SQL Server、Accessの日付の要素

SQL Server省略形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');  
SQL Server 2009/12/31の年始からの日数を取得するサンプル実行結果

曜日を取得

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

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

返される値曜日
1
2
3
4
5
6
7
SQL Server 2009/12/01の曜日を取得するサンプル実行結果
タイトルとURLをコピーしました