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

      Bom dia Amigos

      fiz a seguinte funcao:

      create or replace function soma(mes in date, mes2 IN VARCHAR2, Valor IN number)
      return NUMBER
      is
      v_string_retorno NUMBER(15,2);
      begin
      IF To_Char(mes,’mm’)<= mes2 THEN v_string_retorno := valor+valor; END IF; return (v_string_retorno); end; ele executa-la: SELECT soma(data,2, valor) Total FROM clanca funciona perfeitamente, só que tras varios valores, ou seja, 234.77 456.77 345.88 324.66 eu queria que trouxesse o total de tudo isso, seria possivel? Obrigado Marcio

      #94354
      burga
      Participante

        Quando você diz o “total de tudo isso”, você quer dizer a soma de tudo?
        Se for, é só usar o SUM.

        SELECT SUM(soma(data,2, valor)) Total FROM clanca;

        #94355
        MARCIO_LOK
        Participante

          Por falta de experiencias, as vezes a gente faz uns erros bobos…por isso que gosto de postar aqui…. a eficiencia desse forum é incrivel, parabens.

          Trouxe o que eu queria!
          BRIGADAO, PERFEITO, VALEU MESMO AMIGO…

          #94364
          fsitja
          Participante

            Dá para fazer isso sem criar a function. Lembrando que user defined function em SQL deixa a consulta bastante lenta para uma quantidade grande de linhas:


            select sum(case when to_char(mes, 'MM') <= mes2 then soma * 2 end) from tabela

            #94366
            MARCIO_LOK
            Participante

              valeu amigo

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