Bug #16226 TIMESTAMPDIFF seems to ignore time when interval is bigger than week
| Submitted: | 5 Jan 2006 15:00 | Modified: | 15 Aug 2006 3:23 |
|---|---|---|---|
| Reporter: | Justas Vilimas | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server | Severity: | S3 (Non-critical) |
| Version: | 5.0.19-BK, 5.0.18 | OS: | Linux (Linux) |
| Assigned to: | Ian Greenhoe | CPU Architecture: | Any |
[5 Jan 2006 15:00]
Justas Vilimas
[6 Jan 2006 14:34]
Valeriy Kravchuk
Thank you for a bug report. Verified just as described with 5.0.19-BK (ChangeSet@1.2010.1.2, 2006-01-04 21:39:39+03:00) on Linux: mysql> SELECT TIMESTAMPDIFF(month,'2006-01-10 14:30:28','2006-02-10 14:30:27'); +------------------------------------------------------------------+ | TIMESTAMPDIFF(month,'2006-01-10 14:30:28','2006-02-10 14:30:27') | +------------------------------------------------------------------+ | 1 | +------------------------------------------------------------------+ 1 row in set (0.06 sec) mysql> SELECT TIMESTAMPDIFF(year,'2005-01-10 14:30:28','2006-01-10 14:30:27'); +-----------------------------------------------------------------+ | TIMESTAMPDIFF(year,'2005-01-10 14:30:28','2006-01-10 14:30:27') | +-----------------------------------------------------------------+ | 1 | +-----------------------------------------------------------------+ 1 row in set (0.00 sec) But: mysql> SELECT TIMESTAMPDIFF(week,'2006-01-10 14:30:28','2006-01-17 14:30:27'); +-----------------------------------------------------------------+ | TIMESTAMPDIFF(week,'2006-01-10 14:30:28','2006-01-17 14:30:27') | +-----------------------------------------------------------------+ | 0 | +-----------------------------------------------------------------+ 1 row in set (0.00 sec) mysql> SELECT TIMESTAMPDIFF(week,'2006-01-10 14:30:28','2006-01-17 14:30:28'); +-----------------------------------------------------------------+ | TIMESTAMPDIFF(week,'2006-01-10 14:30:28','2006-01-17 14:30:28') | +-----------------------------------------------------------------+ | 1 | +-----------------------------------------------------------------+ 1 row in set (0.00 sec) mysql> select version(); +-----------+ | version() | +-----------+ | 5.0.19 | +-----------+ 1 row in set (0.00 sec)
[23 Jun 2006 5:38]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/8121
[29 Jul 2006 3:52]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/9752 ChangeSet@1.2241, 2006-07-28 20:51:17-07:00, igreenhoe@anubis.greendragongames.com +3 -0 Fix for bug #16226 (timestamp_diff truncation issue when requesting difference between timestamp in values of months and quarters.) Problem: when requesting timestamp diff in months or quarters, it would only examine the date (and not the time) for the comparison. Solution: increased precision of comparison.
[31 Jul 2006 11:17]
Magnus Blåudd
Very nice patch and test case.
[1 Aug 2006 13:18]
Magnus Blåudd
Pushed to mysql-5.0.maint
[3 Aug 2006 16:41]
Magnus Blåudd
Pushed to 5.0.25
[4 Aug 2006 17:23]
Paul DuBois
Noted in 5.0.25 changelog. TIMESTAMPDIFF() examined only the date and ignored the time when the requested difference unit was months or quarters.
[14 Aug 2006 21:26]
Konstantin Osipov
Merged into 5.1.12
[15 Aug 2006 3:23]
Paul DuBois
Noted in 5.1.12 changelog.
Portions of this website are copyright © 2001, 2002 The PHP Group
Page generated in 0.061 sec. using MySQL 8.4.7-u6-cloud
Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the
respective copyright holders.
It is not reviewed in advance
by Oracle and does not necessarily represent the opinion of
Oracle or any other party.