Pular para o conteúdo
Visualizando 9 posts - 1 até 9 (de 9 do total)
  • Autor
    Posts
  • #102102
    Peterson
    Participante

      Boa tarde Galera,

      É possível usar funções nos “apelidos” de colunas?

      Ex:

      SELECT id, nome, COUNT(id) AS TO_CHAR(SYSDATE,’MON’)
      FROM tabela;

      ???

      #102104
      rman
      Participante

        @Peterson

        Tudo que estiver entre aspas dupla o Oracle vai reconhecer como texto.


        SELECT 1 AS "TO_CHAR(SYSDATE,'MON')"
        FROM DUAL


        SELECT id, nome, COUNT(id) AS "TO_CHAR(SYSDATE,'MON')"
        FROM tabela;

        Acho que não é isso que você quer né ? Você quer é colocar um alias com a data atual? Talvez com SQL DINAMICO…

        #102105
        leandrolbs
        Participante

          kkkk boa essa pergunta..

          tentei aqui, não funciona…

          #102117
          Peterson
          Participante

            então rman, quero que o nome da coluna apareça com o mês de referência entendeu? tipo… ao gerar a query, o nome da coluna virá como NOVEMBRO que seria o mês anterior.

            Também não consegui fazer assim, mas acredito que usando variáveis funcione… vou continuar testando e aviso vocês do que conseguir…

            #102118
            rman
            Participante

              @Peterson

              Qual é a real necessidade disso ? FORMS/REPORTS ?

              #102142
              Peterson
              Participante

                rman,

                Estou elaborando uma query que me o seguinte resultado

                COLUNA 1 – vendedor
                COLUNA 2 – vendas do vendedor no último mês
                COLUNA 3 – vendas do vendedor no penúltimo mês
                COLUNA 4 – vendas do vendedor no antepenúltimo mês.

                mas gostaria que as colunas 2,3 e 4 viessem com os nomes dos respectivos meses, entendeu?

                #102156
                Manoel872
                Participante

                  Que tal uma gambis? Cria um processo onde vc cria uma view em cima da tabela em tempo de execução com o nome das colunas conforme vc precisa… e depois retornar um cursor desta view….

                  Att,

                  Manoel Jr.

                  #102182
                  fabiogalera
                  Participante

                    Você precisa gerar a query SQL dinamicamente.

                    Em Shell Script você gera isso rapidinho.

                    Ou pode fazer uma gambiarra monumental:


                    Gambiarra mode on ...

                    set pages 0
                    select * from (
                    select
                    substr('VENDEDOR',1,10),
                    to_char(sysdate,'MON/YYYY'),
                    to_char(sysdate-30,'MON/YYYY'),
                    to_char(sysdate-60,'MON/YYYY')
                    from dual
                    UNION
                    select
                    '-------------------',
                    '-------------------',
                    '-------------------',
                    '-------------------'
                    from dual
                    ) order by 2 DESC;

                    #102183
                    fabiogalera
                    Participante

                      Ops, assim você terá problemas com meses de 31 dias.


                      set pages 0
                      select * from (
                      select
                      substr('VENDEDOR',1,10),
                      to_char(sysdate,'MON/YYYY'),
                      to_char(to_date(to_char(sysdate,'YYYYMM')-1,'YYYYMM'),'MON/YYYY'),
                      to_char(to_date(to_char(sysdate,'YYYYMM')-2,'YYYYMM'),'MON/YYYY')
                      from dual
                      UNION
                      select
                      '-------------------',
                      '-------------------',
                      '-------------------',
                      '-------------------'
                      from dual
                      ) order by 2 DESC;

                      E essa tem problema caso seja Janeiro, Fevereiro … ok, esquece hehe.

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