MySQL中的HOUR函數用于提取日期/時間值中的小時數。語法如下:
HOUR(date/time)
其中,date/time是指要提取小時數的日期/時間值。該函數的返回值是一個介于0和23之間的整數。
例如,假設有一個名為“mytable”的表,其中有一個名為“event_time”的列,表示事件發生的時間??梢允褂萌缦抡Z句查詢某一天內每個小時的事件數量:
SELECT HOUR(event_time), COUNT(*) FROM mytable WHERE DATE(event_time) = '2021-01-01' GROUP BY HOUR(event_time);
這條語句將返回一個帶有兩列的結果集。第一列是小時數(0到23),第二列是該小時內事件的數量。
需要注意的是,HOUR函數只能用于日期/時間值。如果要提取一個字符串中的小時數,可以先將其轉換為日期/時間值,再使用HOUR函數。例如:
SELECT HOUR(STR_TO_DATE('2021-01-01 13:45:21','%Y-%m-%d %H:%i:%s'));
這條語句將返回13,即字符串“2021-01-01 13:45:21”中的小時數。