Olá pessoal,
Tenho um situação onde avalio o valor de um parâmetro recebido na procedure e devo retornar dois campos de data, que representam uma vigência (data inicial e data final), fazendo um filtro de acordo com o valor do parametro. O case pode retornar dois valores? Ou tem alguma outra forma de fazer isso?
Tentei fazer algo assim, mas não funciona.
(SELECT AT.DTA_INIC, AT.DTA_FINA,
CASE
WHEN P_VIGENCIA = 1 THEN TRUNC(AT.DTA_INIC) < TRUNC(SYSDATE)
WHEN P_VIGENCIA = 2 THEN TRUNC(AT.DTA_INIC) > TRUNC(SYSDATE)
ELSE TRUNC(AT.DTA_INIC) AND TRUNC(NVL(AT.DTA_FINA,
TO_DATE(’31/12/9999′, ‘DD/MM/YYYY’)))
FROM T_AT_SGI AT)