Kbase P130325: SQL: Error (7578) executing a query with LIKE predicate using '%SomeExpression%'.
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  4/10/2008 |
|
Status: Unverified
FACT(s) (Environment):
All Supported Operating Systems
OpenEdge 10.1A
OpenEdge 10.1B
OpenEdge 10.1C
SYMPTOM(s):
SQL: Error (7578) executing a query with LIKE predicate using '%SomeExpression%'.
Error returned by WinSQL ODBC client:
Syntax error (7587) (State:37000, Native Code: FFFFB1DD)
Query fails if WHERE clause is similar to:
SELECT
*
FROM
PUB.TableName
WHERE
ArrayFieldName LIKE '%SomeExpression%'
Where ArrayFieldName is a CHARACTER array field of 4 elements.
CAUSE:
This is a known issue
FIX:
Use one of the following two workarounds:
1. Use the array element subscript syntax. For example:
SELECT
*
FROM
PUB.TableName
WHERE
ArrayFieldName[1] LIKE '%SomeExpression%' OR
ArrayFieldName[2] LIKE '%SomeExpression%' OR
ArrayFieldName[3] LIKE '%SomeExpression%' OR
ArrayFieldName[4] LIKE '%SomeExpression%'
2. Use the PRO_ELEMENT function syntax.
SELECT
*
FROM
PUB.TableName
WHERE
PRO_ELEMENT(ArrayFieldName, 1,4) LIKE ''%SomeExpression%'
Where ArrayFieldName is a CHARACTER array field of 4 elements.