DB2 - Problem description
Problem IC84575 | Status: Closed |
WRONG RESULTS FROM CONVERTING A TIMESTAMP FIELD TO A STRING TYPE WITH THE ISO WEEK FORMAT SPECIFICATION 'IW' | |
product: | |
DB2 FOR LUW / DB2FORLUW / A10 - DB2 | |
Problem description: | |
When using the IW option of the format string syntax of converting a timestamp to an iso week, a query may incorrectly return the iso week of 53, when the correct answer should have been 52. For example: db2 values to_char(TIMESTAMP('2011-01-01'),'IW'); 1 ----------------------- 53 1 record(s) selected. The correct answer here should have been 52. This incorrect result will only occur if ALL of the following conditions are true: 1. The date being converted is one of the first few days of the year such that these days actually belong to the last ISO week of the previous year. 2. Jan 1st of this year falls on a Saturday. 3. Jan 1st of the previous year is not a Thursday. | |
Problem Summary: | |
Local Fix: | |
Instead of using the IW format string directly, the function week_iso() can be used instead, and then convert that answer to a char. for example: db2 values to_char(week_iso(TIMESTAMP('2011-01-01'))) | |
available fix packs: | |
DB2 Version 10.1 Fix Pack 1 for Linux, UNIX, and Windows | |
Solution | |
Workaround | |
not known / see Local fix | |
Comment | |
The problem fixed | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 14.06.2012 29.03.2013 29.03.2013 |
Problem solved at the following versions (IBM BugInfos) | |
Problem solved according to the fixlist(s) of the following version(s) | |
10.1.0.1 | |
10.5.0.1 |