Pular para o conteúdo
Visualizando 7 posts - 16 até 22 (de 22 do total)
  • Autor
    Posts
  • #87293
    rtsilva
    Participante

      Ok vc tem razão, não existe o to_number para valores numéricos.

      #87294
      rtsilva
      Participante

        Por favor, algúem sabe como faço então para colocar a seguinte condição:

        • CODV0987 */ TO_NUMBER(DECODE(V0987, ‘ ‘, 3, V0987)),

        Isso está me retornando um, erro ora: 01438, valor maior que a precisão especificada usada para esta coluna. Na tabela criada ela é nunber(2) not null.

        Desde já agradeço,

        #87296
        Marcio68Almeida
        Participante

          [quote=”rtsilva”:wedjgygq]* CODV0987 */ TO_NUMBER(DECODE(V0987, ‘ ‘, 3, V0987)),[/quote]
          Bom…
          Você está tentando novamente colocar TO_NUMBER para um valor numérico.
          Se você colocar o NVL (v0987, 3) se o valor de v0987 for nulo, vai valer 3, caso contrário é o próprio valor.

          #87297
          lipcurl
          Participante

            bem.. que pelo sei..
            Além dele ta convertendo tipo number para number..
            Ele ta comparando numérico com char.

            O que realmente sai um pouco da finalidade que ele deseja obter..
            ( Pelo que eu entendi no decorrer das respostas ae )

            Num sei, mas acho que a expressão abaixo é valida se vc quiser se o valor é nulo ou não.

            select DECODE(null,null,1,1234) from dual ;

            #87298
            lipcurl
            Participante

              [quote=”lipcurl”:1zzvqwcm]
              (…)
              Num sei, mas acho que a expressão abaixo é valida se vc quiser saber se o valor é nulo ou não.

              select DECODE(null,null,1,1234) from dual ;
              (…)
              [/quote]

              #87328
              rtsilva
              Participante

                MELHORANDO A PERGUNTA,

                PARA INSERIR EM UMA VARIAVEL VALORES DE OUTRA TABELA MAS QUE POSSUEM VALOR EM BRANCO COMO QUE TRATO-AS NO SELECT PÓS INSERT?

                EX.: INSERT INTO NOME DA TABELA
                (
                CODV0808
                CODV0809
                )
                SELECT
                CODV0808 CASE WHEN (V0808)=’ ‘ THEN 3
                ELSE TO_NUMBER(B0808)
                END
                CODV0809 CASE WHEN (TO_NUMBER(V0808)=2) THEN 3
                ELSE TO_NUMBER V0809
                END
                FROM NOME TABELA DA TABELA 1;

                SENDO QUE NA TABELA 1:CODV0808 POSSUI VALORES 1. 2, NULL, ‘ ‘(BRANCO)
                CODV0809 POSSUI 1, 0, 2, 3

                OBS.: NA TABELA CRIADA ELAS RECEBERA NOT NULL

                DESDE JÁ AGRADEÇO A ATENÇÃO DE TODOS

                #87665
                rtsilva
                Participante

                  Resposta para quem tinha dúvidas como a minha.

                  Para inserir na variável um valor em branco:

                  B0405 case when B0405=’ ‘ then 1
                  else(decode(B0405, ‘ ‘, 0))
                  end,

                  abraços

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