Pular para o conteúdo
Visualizando 7 posts - 1 até 7 (de 7 do total)
  • Autor
    Posts
  • #78944
    daminhao
    Participante

      galera,
      Alguem sabe me dizer como faco para dar um select em numeros inteiros,
      oq acontece é o seguinte, preciso proibir se seja incluido notas fiscais com msm numero, ex: 0001 e 1

      ex: (erro esta na sixtase ABS)

      Select count(*) NOTAS_FISCAIS INTO v_TOT
      Where abs(CD_NRO_NOTA_FISCAL) = PARAMENTRO
      IF v_TOT >0 THEN
      RAISE NroNotaDuplicado;
      END IF;

      #78945
      chduarte
      Participante

        Neste caso so nao vai funcionar se o seu campo for do tipo char. Se for numero, ele sabe que 0001 = 1.

        []

        #78948
        daminhao
        Participante

          [quote=”chduarte”:1pgck7rc]Neste caso so nao vai funcionar se o seu campo for do tipo char. Se for numero, ele sabe que 0001 = 1.

          [][/quote]

          intao cara, o problema é que o campo é do tipo varchar2

          select *
          from notas_fiscais nf
          where
          to_number(nf.CD_NRO_NOTA_FISCAL) = 6;

          ERRO: ORA-01722: invalid number

          é possivel fazer essa conversão de alguma outra forma ???

          🙄 [/b]

          #78950
          chduarte
          Participante

            Deve ter algum registro com problema. Segue o exemplo:

            SQL> select to_number(‘0001’) from dual;

            TO_NUMBER(‘0001’)

                        1
            

            1* select to_number(‘ 0001’) from dual
            SQL> /

            TO_NUMBER(‘0001’)

                        1
            

            1* select to_number(‘ x0001’) from dual
            SQL> /
            select to_number(‘ x0001’) from dual
            *
            ERROR at line 1:
            ORA-01722: invalid number

            []

            #78953
            daminhao
            Participante

              fedeu !!!

              o campo varchar2 contem caracteres,

              existe alguma funcao q retira somente os zero a esquerda ??

              #78954
              chduarte
              Participante

                Vc vai ter que fazer um codigo pl/sql com substring para varrer sua tabela.

                []

                #78957
                daminhao
                Participante

                  cara consegui ultilizando o ltrim

                  select ltrim(cod,0)
                  from (select ‘0000X0100A’ cod from dual)

                  abracos

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