Pular para o conteúdo
  • Este tópico contém 9 respostas, 5 vozes e foi atualizado pela última vez 13 anos, 2 meses atrás por leandrolbs.
Visualizando 10 posts - 1 até 10 (de 10 do total)
  • Autor
    Posts
  • #101358
    rasuyu
    Participante

      Estou como problema, que nao estou acertando resolver segue abaixo o inuciado..

      Exiba o sobrenome, a data de admissão e o dia da semana em que o funcionário começou a trabalhar, atribua o label “DAY” à coluna. Ordene os resultados pelo dia da semana começando por segunda feira.

      SELECT FIRST_NAME, HIRE_DATE, TO_CHAR(HIRE_DATE,’DAY’) AS DAY
      FROM EMPLOYEES
      ORDER BY ??????????????

      #101359
      leandrolbs
      Participante

        decode neles.


        ORDER BY decode(TO_CHAR(e.datcad,'DAY'), 'SEGUNDA-FEIRA', 'a', 'TERÇA-FEIRA', 'b', 'QUARTA-FEIRA', 'c','z')

        #101360
        rman
        Participante

          @leandrolbs

          Interessante a solução 😆

          #101361
          leandrolbs
          Participante

            com o DECODE, vc pode ordernar qualquer coisa, em qualquer forma…..
            porem quando se tem muitas opções isso se torna chatinho de fazer…

            #101363
            rbarrenech
            Participante

              que tal algo como:

              SELECT FIRST_NAME, HIRE_DATE, TO_CHAR(HIRE_DATE,’DAY’) AS DAY
              FROM EMPLOYEES
              ORDER BY TO_CHAR(HIRE_DATE-1,’D’);

              Vai trazer primeiro as segundas. Seria isso?

              #101367
              leandrolbs
              Participante

                amigo, desconheço o parametro ‘D’ na função TO_CHAR;

                #101368
                rbarrenech
                Participante

                  [quote=”leandrolbs”:1q55n1ob]amigo, desconheço o parametro ‘D’ na função TO_CHAR;[/quote]

                  Ele traz o número do dia da semana nesse formato:

                  1 – Domingo
                  2 – Segunda
                  3 – Terça
                  4 – Quarta
                  5 – Quinta
                  6 – Sexta
                  7 – Sabado

                  Executa isso que vai te ilustrar melhor:

                  SELECT TO_CHAR(SYSDATE-1,’D’) ||’ – ‘|| TO_CHAR(SYSDATE-1,’DAY’) “ONTEM” FROM DUAL
                  UNION
                  SELECT TO_CHAR(SYSDATE,’D’) ||’ – ‘|| TO_CHAR(SYSDATE,’DAY’)”HOJE” FROM DUAL
                  UNION
                  SELECT TO_CHAR(SYSDATE+1,’D’) ||’ – ‘|| TO_CHAR(SYSDATE+1,’DAY’) “AMANHA” FROM DUAL;

                  #101369
                  leandrolbs
                  Participante

                    verdade, mais uma pra coleção…
                    sendo assim funciona tbm o order by…

                    #101370
                    felipeg
                    Participante

                      @rbarrenech

                      Muito boa hehe
                      Obrigado por compartilhar!

                      Atenciosamente,
                      Felipe.

                      #101372
                      leandrolbs
                      Participante

                        @rasuyu, ficou ok?

                      Visualizando 10 posts - 1 até 10 (de 10 do total)
                      • Você deve fazer login para responder a este tópico.
                      plugins premium WordPress