DB2 - Problem description
Problem IT16703 | Status: Closed |
DB2 MAY RETURN INCORRECT RESULTS WHEN USING STRING EQUALITY PREDICATES CONTAINING DIFFERING CODE UNITS | |
product: | |
DB2 FOR LUW / DB2FORLUW / B10 - DB2 | |
Problem description: | |
When using string equality predicates containing strings that have differing code units (OCTETS, CODEUNITS16, CODEUNITS32), DB2 may return incorrect results. Keep in mind that the default code units used may differ depending on the current string_units and nchar_mapping database configuration parameters and the NLS_STRING_UNITS global variable. Example (with the default string_units database config parameter set to SYSTEM): CREATE TABLE T1 (a CHAR(2 CODEUNITS32) NOT NULL, b CHAR(5 CODEUNITS32) NOT NULL) INSERT INTO T1 VALUES ('12', '345') SELECT a||b FROM T1 WHERE a='12' AND a||b LIKE '%12345%' Incorrect result: 1 ---------------------------- 0 record(s) selected. | |
Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * CODEUINTS usage * **************************************************************** * PROBLEM DESCRIPTION: * * See Error Description * **************************************************************** * RECOMMENDATION: * * See Error Description. Please, install this fix. * **************************************************************** | |
Local Fix: | |
In the example above, either modify the string_units database config parameter to match the string constant's code units (OCTETS) with the column's (CODEUNITS32), or ensure each string reference in the equality expression uses the same code units by casting when needed: SELECT a||b FROM T1 WHERE CHAR(a)='12' AND a||b LIKE '%12345%' 1 ---------------------------- 12345 1 record(s) selected. | |
available fix packs: | |
DB2 Version 11.1 Mod1 Fix Pack1 iFix001 for Linux, UNIX, and Windows | |
Solution | |
See Error Description. Please, install this fix. | |
Workaround | |
not known / see Local fix | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 22.08.2016 10.10.2017 10.10.2017 |
Problem solved at the following versions (IBM BugInfos) | |
Problem solved according to the fixlist(s) of the following version(s) | |
11.1.1.1 |