datetime型から年、月、日、時、分などを操作
前回SQL-Serverのdatetime型の値を日付のみで比較操作するお話でしたが、日付ではなく年や日、時だったりと部分だけを操作する方法です。
前回同様のテーブルを考えます。
支店コード | 支店名 | アクセス日時 |
001 | 岐阜支店 | 2018-12-11 19:07:33 |
002 | 多治見支店 | 2018-12-12 22:39:46 |
003 | 大垣支店 | 2018-12-21 09:15:53 |
004 | 山県支店 | 2018-12-20 18:19:24 |
005 | 各務原支店 | 2018-12-21 09:31:30 |
DATEPART関数を利用すれば簡単にアクセスできます。
DATEPART (Transact-SQL) | Microsoft Docs
例えば、9時台のアクセスを取得する場合は、
SELECT * FROM テーブルA WHERE DATEPART(hour,アクセス日時) = 9
支店コード | 支店名 | アクセス日時 |
003 | 大垣支店 | 2018-12-21 09:15:53 |
005 | 各務原支店 | 2018-12-21 09:31:30 |
当然ながら、SELECT文の表示にも使用できます。例えばアクセス日時が9時台の支店の日のみを表示したい場合は、
SELECT 支店名,DATEPART(day,アクセス日時) AS 日 FROM テーブルA WHERE DATEPART(hour,アクセス日時) = 9
支店名 | 日 |
大垣支店 | 21 |
各務原支店 | 21 |
こんな感じです。