Consultor Eletrônico



Kbase P129114: SQL-92: CASE statement truncates the ELSE part value to INTEGER if the THEN part is INTEGER.
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   20/06/2008
Status: Unverified

FACT(s) (Environment):

All Supported Operating Systems
OpenEdge 10.1B

SYMPTOM(s):

SQL-92: CASE statement truncates the ELSE part value to INTEGER if the THEN part is INTEGER.

The value returned by the ELSE part of an SQL-92 statement is truncated to its INTEGER value if the value of the THEN part of the statement is an INTEGER.

When executing the following SQL-92 query:
SELECT
state, balance,
balance / CustNum "ElsePart",
CASE
WHEN State = 'MA' THEN 99
ELSE balance / CustNum
END "CaseValue"
FROM
PUB.Customer
WHERE
CustNum < 6
The CaseValue column which is the result of the ELSE part is truncated to it INTEGER values.

CAUSE:

Bug# OE00164864

FIX:

Upgrade to OpenEdge 10.1C01 or later