Pular para o conteúdo
Visualizando 6 posts - 1 até 6 (de 6 do total)
  • Autor
    Posts
  • #91512
    Tiago_BB
    Participante

      Ola pessoal.

      Tenho a seguinte query:


      SELECT L.NUM_REQUISICAO,
      I.DATA_INT,
      L.DATA2
      FROM TABELA1 L,
      TABELA2 I
      WHERE L.NUM_REQ = I.NUM_PED
      GROUP BY L.NUM_REQUISICAO,
      I.DATA_INT,
      L.DATA2
      ORDER BY L.NUM_REQUISICAO

      Porém os campos I.DATA_INT e L.DATA2 são do timo DATE.

      Com isso retorna valores da seguinte forma:

      3/12/2009 11:08:39

      O que acontece…

      Como esses campos estao no formato acima, o que me interessa seria somente a data, ou seja, 3/12/2009… desprezando o tempo.

      Pois ao agrupar, devido ao tempo ser diferente, sempre vai retornar registros iguais somente com tempos diferentes.

      Tentei usar SUBSTR mas retorna da seguinte forma:

      03-DEC-09

      Alguem tem alguma sugestão de como desprezar o tempo para no agrupamento?

      Atte.

      #91515
      fsitja
      Participante

        A função trunc() remove a parte das horas e minutos:


        SELECT L.NUM_REQUISICAO,
        TRUNC(I.DATA_INT) DATA_INT,
        TRUNC(L.DATA2) DATA2
        FROM TABELA1 L,
        TABELA2 I
        WHERE L.NUM_REQ = I.NUM_PED
        GROUP BY L.NUM_REQUISICAO,
        TRUNC(I.DATA_INT),
        TRUNC(L.DATA2)
        ORDER BY L.NUM_REQUISICAO

        #91551
        Tiago_BB
        Participante

          Muito Obrigado!

          #91559
          Tiago_BB
          Participante

            Outra dúvida.

            Como ficaria esse script usando TRUNC() no SQL Server??

            Atte.

            #91569
            fsitja
            Participante

              Infelizmente não conheço SQL Server.

              #91574
              Tiago_BB
              Participante

                RESOLVIDO!!!!

                Pessoal, conseguir fazer a query para SQL Server.

                Ficou da seguinte forma:


                SELECT L.NUM_REQUISICAO,
                REPLACE(CONVERT(CHAR(12), I.DATA_INT, 102), '.', '-') DATA_INT,
                REPLACE(CONVERT(CHAR(12), L.DATA2, 102), '.', '-') DATA2
                FROM TABELA1 L,
                TABELA2 I
                WHERE L.NUM_REQ = I.NUM_PED
                GROUP BY L.NUM_REQUISICAO,
                REPLACE(CONVERT(CHAR(12), I.DATA_INT, 102), '.', '-'),
                REPLACE(CONVERT(CHAR(12), L.DATA2, 102), '.', '-')
                ORDER BY L.NUM_REQUISICAO

                Agradeço ao fsitja pela ajuda!

                Atte.

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