Details
-
Bug
-
Status: Closed (View Workflow)
-
Minor
-
Resolution: Fixed
-
10.0.3
-
None
-
None
Description
HOUR() correctly returns hour>23 values in this script:
CREATE TABLE t1 (a TIME); |
INSERT INTO t1 VALUES ('1 00:00:00'); |
SELECT a, HOUR(a) FROM t1; |
+----------+---------+ |
| a | HOUR(a) | |
+----------+---------+ |
| 24:00:00 | 24 |
|
+----------+---------+ |
and in this script:
SELECT HOUR(MAKETIME(24,0,0)); |
+------------------------+ |
| HOUR(MAKETIME(24,0,0)) | |
+------------------------+ |
| 24 |
|
+------------------------+ |
However, it does not work well in some cases:
SELECT HOUR('1 00:00:00'), HOUR(TIME('1 00:00:00')); |
+--------------------+--------------------------+ |
| HOUR('1 00:00:00') | HOUR(TIME('1 00:00:00')) | |
+--------------------+--------------------------+ |
| 0 | 0 |
|
+--------------------+--------------------------+ |
MySQL-5.5 exhibit the same behaviour.
MySQL-5.6 correctly returns "24" for both expressions in the last query.
So this bug should probably be fixed only in 10.0
(while 5.3 and 5.5 should keep the original behaviour).