DB2 - Problem description
Problem IT02318 | Status: Closed |
LOCATE_IN_STRING RETURNS 0 WHEN INSTANCE PARAMETER IS SET TO SMALLINT | |
product: | |
DB2 FOR LUW / DB2FORLUW / A50 - DB2 | |
Problem description: | |
Locate_in_string function should return the starting position of a string (called the search-string ) within another string (called the source-string). Locate_in_string returns 0 when instance parameter is set to SMALLINT. Function expects the instance parameter to be type INTEGER, but SMALLINT values are not being cast to INTEGER as expected. LOCATE_IN_STRING ( source-string, search-string, [start], [instance], [CODEUNITS16, CODEUNITS32, OCTETS] ) Here is a simple reproduction of incorrect behaviour, where we expect the number 2 to be the returned value of the locate_in_string function. $ db2 "values locate_in_string('2,0', ',', 1, cast(1 as smallint))" 1 ----------- 0 1 record(s) selected. | |
Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * ALL * **************************************************************** * PROBLEM DESCRIPTION: * * See Error Description * **************************************************************** * RECOMMENDATION: * * Upgrade to product DB2 Version 10.5 Fix Pack 5 or higher. * **************************************************************** | |
Local Fix: | |
The immediate workaround is to use an explicit cast to make the parameter an INTEGER value; for example, $ db2 "values locate_in_string('2,0', ',', 1, cast(1 as integer))" 1 ----------- 2 1 record(s) selected. | |
Solution | |
Problem was fixed in DB2 Version 10.5 Fix Pack 5. | |
Workaround | |
not known / see Local fix | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 06.06.2014 18.03.2015 18.03.2015 |
Problem solved at the following versions (IBM BugInfos) | |
Problem solved according to the fixlist(s) of the following version(s) | |
10.5.0.5 |