[Dica] CALENDARIO em SQL

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
mcastelar
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 11
Registrado em: Qui, 13 Jan 2011 3:01 pm
Localização: RJ

Selecionar tudo

SELECT segunda, terca, quarta, quinta, sexta, sabado, domingo
FROM (SELECT   MIN (DECODE (sem, 1, d)) segunda,
                        MIN (DECODE (sem, 2, d)) terca,
                        MIN (DECODE (sem, 3, d)) quarta,
                        MIN (DECODE (sem, 4, d)) quinta,
                        MIN (DECODE (sem, 5, d)) sexta,
                        MIN (DECODE (sem, 6, d)) sabado,
                        MIN (DECODE (sem, 7, d)) domingo, d - sem semana
           FROM
                       (SELECT DECODE                             (TO_NUMBER(TO_CHAR(TO_DATE( LEVEL||'/07/2011','dd/mm/yyyy') , 'd' ) ) , 1 , 7 ,
TO_NUMBER( TO_CHAR(TO_DATE( LEVEL||'/07/2011','dd/mm/yyyy'),'d'))- 1) sem, LEVEL d
              FROM DUAL
              CONNECT BY LEVEL <= TO_NUMBER(TO_CHAR(LAST_DAY(TO_DATE('01/07/2011','dd/mm/yyyy')),'dd')))
        GROUP BY d - sem
        ORDER BY semana);
Responder
  • Informação