Pular para o conteúdo
Visualizando 2 posts - 1 até 2 (de 2 do total)
  • Autor
    Posts
  • #96234
    mpungan
    Participante

      Pessoal estou fazendo o select abaixo, estou tentando obter a soma de um campo long, mas retorna o erro abaixo. Alguém sabe se existe um função para converter dados do tipo long, e poder somar esse valor?

      SELECT SUM(di.tamanho)
      FROM digi_documentos DD,
      digi_documento_dir_imagens DI
      WHERE di.iddocumento = dd.iddocumento
      AND dd.idsetor = 20702010401

      ORA-00932-tipos de dados inconsistentes esperava NUMBER obteve LONG.

      #96253
      burga
      Participante

        Esse tipo de dados está bem errado… Não tem como você alterá-lo pra um tipo numérico?

        Leia seu outro tópico: https://profissionaloracle.com.br/module … pic&t=4576

        Agora, se ainda assim não tiver como alterar o tipo da coluna, segue como você pode fazer:

        1. crie a função getlong que o Tom apresenta nesta página:
          http://asktom.oracle.com/pls/asktom/f?p=100:11:0::NO::P11_QUESTION_ID:839298816582
        2. acrescente a chamada da função na sua consulta:

        SELECT SUM(getlong('digi_documento_dir_imagens','tamanho',di.rowid))
        FROM digi_documentos DD,
        digi_documento_dir_imagens DI
        WHERE di.iddocumento = dd.iddocumento
        AND dd.idsetor = 20702010401

        Com isso, você vai converter o LONG pra VARCHAR2 e de VARCHAR2 pra NUMBER… Mas tudo vai depender de como a informação está gravada na coluna TAMANHO (formatação).

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