Excelが大好きだ!

Excel大好き経理マンがExcelの事を書き綴っていきます。


スポンサードリンク

SQLでExcelの集計を簡単・楽しく - DATEPART関数

Excel関数と同様にSQLにも文字列・算術関数以外に日付関数が存在します。


DATEPART関数

今回は日付関数の中からDATEPART関数を紹介します。

DATEPART関数の構文は以下のとおりです。

select DATEPART(interval,date,firstdayofweek,firstweekofyear) from テーブル名

DATEPART関数は引数「date」から引数「interval」で指定した単位で日付・時刻情報を抽出します。

引数 内容
interval 抽出形式。日付・時刻形式データから抽出するデータを指定
date 日付・時刻データを含む列・定数・式を指定する
firstdayofweek 省略可。週の始まりの曜日。1~7の数値を指定します。省略した場合は1を指定したことになります。
firstweekofyear 省略可。第1週の指定。

Excel VBA関数のDATEPART関数と同じ機能です。


interval
設定 説明
yyyy
q 四半期
m
y 年間経過日数
d
w 曜日
ww
h
n
s


firstdayofweek
定数 意味
vbSunday 1 日曜日(既定値)
vbMonday 2 月曜日
vbTuesday 3 火曜日
vbWednesday 4 水曜日
VbThursday 5 木曜日
vbFriday 6 金曜日
vbSaturday 7 土曜日

定数が存在しますが、Excel内では使えないようなので「値」を使用します。


firstweekofyear
定数 説明
vbUseSystem 0 NLS API の設定を使います。
vbFirstJan1 1 1 月 1 日が含まれる週から開始します (既定)。
vbFirstFourDays 2 新年の少なくとも 4 日が含まれる最初の週から開始します。
vbFirstFullWeek 3 年の最初の完全な週から開始します。

DatePart 関数 - Microsoft サポート


DATEPART関数使用例

日付・時刻情報データから指定した単位で日付・時刻情報を抽出。
下記では誕生日から年を抽出。

引数「interval」の指定によって様々情報を抽出できる。
引数「interval」に「y」を指定すると、引数「date」に指定した日付が「date」に指定した年の1/1から何日経過したかを抽出できる。

引数「date」にはシリアル値を指定することも可能。


www.excellovers.com