ログ集計をやっていると
日別や月別という依頼をうけるが
1年に1回程度、時間別でだしてほしいという
依頼がきます
毎回、忘れて調べているので
備忘録として記載する
access_dateというカラムに
アクセス時間があります
フォーマットは
”yyyy-mm-dd HH:mi:ss:mmm”
です
SELECT CONVERT(NVARCHAR, access_date, 111) AS 'access_date_char_yyyymmdd' , DATEPART ( hour , [access_date] ) as access_date_hour ,count(*) as 'icount' FROM [accesslog] group by CONVERT(NVARCHAR, access_date, 111) , DATEPART ( hour , [access_date] ) order by access_date_char_yyyymmdd,access_date_hour
DATEPART関数が本当に使わないので
忘れてしまいます
戻り値がintなので日付と結合する場合は
0埋めが必要です
DATEPART関数のリファレンスは以下のURL参照
https://msdn.microsoft.com/ja-jp/library/ms174420(v=SQL.120).aspx
忘れるなよ、自分!!