Consultor Eletrônico



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.