详解MySQL的HOUR()函数:从时间中提取小时数

  • Post category:MySQL

MySQL的HOUR()函数是用于提取一个时间类型表达式的小时部分。该函数的语法如下:

HOUR(time_expression)

其中,time_expression是一个时间类型(如DATE、DATETIME、TIMESTAMP)的表达式。

使用方法:

  1. 提取时间类型的小时部分

下面是一个示例,使用HOUR()函数提取DATETIME类型内容的小时部分:

SELECT HOUR('2022-02-22 15:30:45');

此查询将返回15,即仅提取DATETIME类型值的小时部分。类似地,以下示例使用了一个实际表:

mysql> SELECT * FROM table_name;
+----+---------------------+
| id | date_field          |
+----+---------------------+
|  1 | 2022-02-22 15:30:45 |
|  2 | 2022-02-22 10:45:30 |
+----+---------------------+

mysql> SELECT HOUR(date_field) AS 'hour' FROM table_name;
+------+
| hour |
+------+
|   15 |
|   10 |
+------+
  1. 用于特定条件过滤查询

以下是另一个示例,使用HOUR()函数过滤给定领域(field)、日期(day)和事件发生的时间:

SELECT field, event_time
FROM events
WHERE DAY(event_time) = '22'
AND HOUR(event_time) = '15'
AND field = 'field1';

该查询将从事件表中检索在特定日期的特定领域(field1)发生的事件, 并且事件发生的时间在指定小时(15)内。

这些示例表明了如何使用HOUR()函数来提取和过滤时间戳数据。