home clear 64x64
en blue 200x116 de orange 200x116 info letter User
suche 36x36
Neueste VersionenFixList
11.1.0.7 FixList
10.5.0.9 FixList
10.1.0.6 FixList
9.8.0.5 FixList
9.7.0.11 FixList
9.5.0.10 FixList
9.1.0.12 FixList
Haben Sie Probleme? - Kontaktieren Sie uns.
Kostenlos registrieren anmeldung-x26
Kontaktformular kontakt-x26

DB2 - Problembeschreibung

Problem IC77360 Status: Geschlossen

INCORRECT TRUTH VALUE FROM COMPARISON OF TIMESTAMP TO STRING HAVING HIGHER
PRECISION THAN THE TIMESTAMP

Produkt:
DB2 FOR LUW / DB2FORLUW / 970 - DB2
Problembeschreibung:
In V9.7 the precision of the timestamp operand in a comparison 
could be less than the number of fractional seconds in the 
string representation of a timestamp. Currently, the comparison 
uses the same precision as the timestamp operand, thus 
truncating even non-zero fractional seconds digits when 
converting the string representation to a timestamp. 
 
For example, the equality predicate TIMESTAMP 
'2010-08-18-15.20.25' = '2010-08-18-15.20.25.123' is TRUE 
because the left operand has a type of TIMESTAMP(0) and then 
converts the right operand to the same, losing the 3 fractional 
seconds digits before doing the comparison. The expected result 
in this case would be FALSE. 
 
Example of above current using a column: 
create table t1 (c1 timestamp(0)); 
insert into t1 values ('2010-08-18-15.20.25'); 
select c1 from t1 where c1 = '2010-08-18-15.20.25.123'; 
C1 
------------------- 
2010-08-18-15.20.25 
 
Comparisons that involve timestamp values are evaluated 
according to the following rules: 
 - When comparing timestamp values with different precisions, 
the higher precision is used for the comparison and any missing 
digits for fractional seconds are assumed to be zero. 
 - When comparing a timestamp value with a string representation 
of a timestamp, the string representation is first converted to 
TIMESTAMP(12). 
 - Timestamp comparisons are chronological without regard to 
representations that might be considered equivalent. Thus, the 
following predicate is true: 
TIMESTAMP('1990-02-23-00.00.00') > '1990-02-22-24.00.00'
Problem-Zusammenfassung:
Local-Fix:
Explicitly cast string into a TIMESTAMP(p)
verfügbare FixPacks:
DB2 Version 9.7 Fix Pack 5 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 6 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 7 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 8 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 9 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 9a for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 10 for Linux, UNIX, and Windows

Lösung
Workaround
keiner bekannt / siehe Local-Fix
Kommentar
This is a new requirement
Weitere Daten
Datum - Problem gemeldet    :
Datum - Problem geschlossen :
Datum - der letzten Änderung:
06.07.2011
19.01.2012
19.01.2012
Problem behoben ab folgender Versionen (IBM BugInfos)
Problem behoben lt. FixList in der Version
9.7.0.5 FixList