› Fóruns › SQL e PL/SQL › [DÚVIDA SELECT] › [DÚVIDA SELECT]
31 de julho de 2010 às 12:44 am
#95337
Participante
Mesma consulta do diego, mas com decode ao invés de case, utilizando constantes nas horas e acréscimo do add_months também no conect by:
SELECT dia_mes,
DECODE(TO_CHAR(dia_mes, 'd'),1,'Domingo',7,'Sábado','12:00') saida,
DECODE(TO_CHAR(dia_mes, 'd'),1,null,7,null,'13:00') entrada
FROM (SELECT data + LEVEL - 1 dia_mes
FROM (SELECT TRUNC(ADD_MONTHS(SYSDATE,1), 'mm') data
FROM dual)
CONNECT BY data + LEVEL - 1 <= LAST_DAY(TRUNC(ADD_MONTHS(SYSDATE,1))));