home clear 64x64
en blue 200x116 de orange 200x116 info letter User
suche 36x36
Latest versionsfixlist
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
Have problems? - contact us.
Register for free anmeldung-x26
Contact form kontakt-x26

DB2 - Problem description

Problem IC69020 Status: Closed

DECODE FUNCTION USES UNEXPECTED BLANK-PADDED COMPARISON FOR FIX-LENGTH
STRING EXPRESSIONS IN VARCHAR2 COMPATIBILITY MODE

product:
DB2 FOR LUW / DB2FORLUW / 970 - DB2
Problem description:
When using the DECODE function in VARCHAR2 compatibility mode, 
the fix-length string expressions are compared using 
blank-padded comparison, which is unexpected. 
 
Here is an example: 
 
db2set DB2_COMPATIBILITY_VECTOR=20 
db2stop 
db2start 
db2 create db sample 
db2 connect to sample 
db2 create table t1 (c1 char(13)) 
db2 insert into t1 values('ABCDEFG') 
 
db2 "SELECT '---'||DECODE('1','1         ','ABC', 'DEF') || 
'---'  FROM t1" 
 
   output:    ---ABC--- 
 
Expected output is: ---DEF---
Problem Summary:
**************************************************************** 
* USERS AFFECTED:                                              * 
* ALL                                                          * 
**************************************************************** 
* PROBLEM DESCRIPTION:                                         * 
* When using the DECODE function in VARCHAR2 compatibility     * 
* mode, the fix-length string expressions are compared using   * 
* blank-padded comparison, which is unexpected.                * 
*                                                              * 
* Here is an example:                                          * 
*                                                              * 
* db2set DB2_COMPATIBILITY_VECTOR=20                           * 
* db2stop                                                      * 
* db2start                                                     * 
* db2 create db sample                                         * 
* db2 connect to sample                                        * 
* db2 create table t1 (c1 char(13))                            * 
* db2 insert into t1 values('ABCDEFG')                         * 
*                                                              * 
* db2 "SELECT '---'||DECODE('1','1        ','ABC', 'DEF') ||   * 
* '---'  FROM t1"                                              * 
* output:    ---ABC---                                         * 
* Expected output is: ---DEF---                                * 
**************************************************************** 
* RECOMMENDATION:                                              * 
* Upgrade to DB2 V9.7 Fix Pack 4 or later.                     * 
****************************************************************
Local Fix:
Cast the first parameter of DECODE function to VARCHAR.
available fix packs:
DB2 Version 9.7 Fix Pack 4 for Linux, UNIX, and Windows
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

Solution
Issue first fixed in DB2 V9.7 Fix Pack 4
Workaround
not known / see Local fix
Timestamps
Date  - problem reported    :
Date  - problem closed      :
Date  - last modified       :
04.06.2010
09.05.2011
09.05.2011
Problem solved at the following versions (IBM BugInfos)
9.7.FP4
Problem solved according to the fixlist(s) of the following version(s)
9.7.0.4 FixList