HOUR()

Description

Returns the hour for time. The range of the return value is 0 to 23 for time-of-day values. However, the range of TIME values actually is much larger, so HOUR can return values greater than 23. Returns NULL if time is NULL.

Syntax

1. > HOUR(time)

Arguments

Arguments Description
time Required. A value that represents time or timestamp.

Examples

1. drop table if exists t1;
2. create table t1(a datetime, b timestamp);
3. insert into t1 values("2022-07-01", "2011-01-31 12:00:00");
4. insert into t1 values("2011-01-31 12:32:11", "1979-10-22");
5. insert into t1 values(NULL, "2022-08-01 23:10:11");
6. insert into t1 values("2011-01-31", NULL);
7. insert into t1 values("2022-06-01 14:11:09","2022-07-01 00:00:00");
8. insert into t1 values("2022-12-31","2011-01-31 12:00:00");
9. insert into t1 values("2022-06-12","2022-07-01 00:00:00");

11. mysql> select hour(a),hour(b) from t1;
12. +---------+---------+
13. | hour(a) | hour(b) |
14. +---------+---------+
15. |       0 |      12 |
16. |      12 |       0 |
17. |    NULL |      23 |
18. |       0 |    NULL |
19. |      14 |       0 |
20. |       0 |      12 |
21. |       0 |       0 |
22. +---------+---------+
23. 7 rows in set (0.00 sec)

25. mysql> select * from t1 where hour(a)>hour(b);
26. +---------------------+---------------------+
27. | a                   | b                   |
28. +---------------------+---------------------+
29. | 2011-01-31 12:32:11 | 1979-10-22 00:00:00 |
30. | 2022-06-01 14:11:09 | 2022-07-01 00:00:00 |
31. +---------------------+---------------------+
32. 2 rows in set (0.01 sec)