Banco de Dados Oracle - Preencher cursor de acordo com a data

Ola pessoal comecei a trabalhar com banco de dados recentemente, e estou com uma duvida para o preenchimento de um cursos, eu gostaria de preencher o cursor de maneiras diferente de acordo com a data atual, isso sem ter que usar dois cursores, exemplo:

    CURSOR CURSOR_EXEMPLO IS
    SELECT DISTINCT
    COLUNA1, COLUNA2, COLUNA3
    FROM TABELA_1
    WHERE CONDIÇÃO1 = X
    AND CONDIÇÃO2 = X
    --AGORA QUE VEM A PARTE QUE NÃO CONSEGUI
   -- SE A DATA DE HOJE FOR MAIOR OU IGUAL A 01/04
    CONDIÇÃO3 = X
    CONDIÇÃO4 = X
  --  SE A DATA FOR MENOR DO QUE 01/04
    CONDIÇÃO3 = Y
    CONDIÇÃO4 = Y

QUERO VERIFICAR A DATA USANDO PREFERENCIALMENTE O SYSDATE

Você pode colocar essa validaçao de data como clausula do where também. Algo como:

  (to_char(data_referencia,'MMDD') >= '0401' AND CONDICAO3 = X AND CONDICAO4 = X) OR
  (to_char(data_referencia,'MMDD') < '0401' AND CONDICAO3 = Y AND CONDICAO4 = Y) 

Eu recomendo que nao use sysdate diretamente na query, passe como parâmetro. Isso vai facilitar seus testes.

1 curtida

Entendi, no meu caso tenho que usar o SYSDATE porque não vai ser um programa que vai chamar a query, a query vai ser executada a partir de um script, no caso é um programa pl/sql. mas vou tentar aqui.