| Bug #4756 | STR_TO_DATE() returning bad results with AM/PM | ||
|---|---|---|---|
| Submitted: | 26 Jul 2004 21:09 | Modified: | 10 Aug 2004 4:56 |
| Reporter: | Dean Ellis | ||
| Status: | Closed | ||
| Category: | Server | Severity: | S2 (Serious) |
| Version: | 4.1.4 | OS: | |
| Assigned to: | Dmitri Lenev | Target Version: | |
[2 Aug 2004 23:56]
Dmitri Lenev
Since DATE_FORMAT() function accepts datetime value in one of standard MySQL datetime
formats, PM part of parameter is simply ignored (and warning about data truncation is
issued). So cleaned up test case should look like:
SELECT STR_TO_DATE(DATE_FORMAT('2004.07.26 12:00:00', '%m/%e/%Y %h:%i:%S %p'), '%m/%e/%Y
%h:%i:%S %p') AS a;
SELECT STR_TO_DATE(DATE_FORMAT('2004.07.26 12:00:00', '%m/%e/%Y %r'), '%m/%e/%Y %r') AS
a;
Which demonstrates that there is a problem only with %r flag.
[10 Aug 2004 4:56]
Dmitri Lenev
Thank you for your bug report. This issue has been committed to our
source repository of that product and will be incorporated into the
next release.
If necessary, you can access the source repository and build the latest
available version, including the bugfix, yourself. More information
about accessing the source trees is available at
http://www.mysql.com/doc/en/Installing_source_tree.html
Additional info:
ChangeSet 1.1909.27.1 2004/08/06 10:01:29 dlenev@brandersnatch.localdomain
Fix for bug #4756 "STR_TO_DATE() returning bad results with AM/PM".
Added support of converion specifiers mentioned in manual but missing in code.

Description: STR_TO_DATE() is returning bad results for format strings involving AM/PM (whether from %r or %p). How to repeat: SELECT STR_TO_DATE(DATE_FORMAT('2004.07.26 12:00:00 PM', '%m/%e/%Y %r'), '%m/%e/%Y %r') AS a; SELECT STR_TO_DATE(DATE_FORMAT('2004.07.26 12:00:00 PM', '%m/%e/%Y %h:%i:%S %p'), '%m/%e/%Y %h:%i:%S %p') AS a; Suggested fix: n/a