DB2 - Problembeschreibung
| Problem IC80667 | Status: Geschlossen |
LIKE CLAUSE MAY RETURN INCORRECT RESULTS FOR VARCHAR COLUMN IN UNICODE DATABASE | |
| Produkt: | |
DB2 FOR LUW / DB2FORLUW / 910 - DB2 | |
| Problembeschreibung: | |
If you have example data below:
db2 "insert into t1 values ('a_abc')"
db2 "insert into t1 values ('a_bc')"
db2 "insert into t1 values ('a__c')"
db2 "insert into t1 values ('a2bc')"
db2 "insert into t1 values ('aabc')"
db2 "insert into t1 values ('abc')"
* The above '__' represents one multi-byte underscore charactor
in UTF-8.
* The above '_' represents one single-byte undersocre charactor
in UTF-8.
And run below queries:
db2 "select * from t1 where NAME LIKE '%a__'" <<-- SQL #1
db2 "select * from t1 where NAME LIKE '%a__a%'" <<-- SQL #2
db2 "select * from t1 where NAME LIKE '%a__b%'" <<-- SQL #3
You will have below different results for char and varchar.
type : #1 : #2 : #3 :
------------------------
varchar : 5 : 1 : 1 : <<-- incorrect
char : 6 : 1 : 4 : <<-- correct
You will have correct results if the column is defined as char.
But you will have incorrect results if the column is defined as
varchar. | |
| Problem-Zusammenfassung: | |
**************************************************************** * USERS AFFECTED: * * DB2 UDB Version 9.1. * **************************************************************** * PROBLEM DESCRIPTION: * * See Error Description * **************************************************************** * RECOMMENDATION: * * Upgrade to Version 9.1 FixPack 12. * **************************************************************** | |
| Local-Fix: | |
| Lösung | |
Problem was first fixed in DB2 UDB Version 9.1 FixPack 12. | |
| Workaround | |
keiner bekannt / siehe Local-Fix | |
| Weitere Daten | |
Datum - Problem gemeldet : Datum - Problem geschlossen : Datum - der letzten Änderung: | 05.01.2012 17.07.2012 17.07.2012 |
| Problem behoben ab folgender Versionen (IBM BugInfos) | |
9.1.FP12 | |
| Problem behoben lt. FixList in der Version | |
| 9.1.0.12 |
|