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

      Ola! Estou querendo mudar o codigo contabil dos fornecedores mas so alguns caracteres. Ex.: Codcontabil+fornec=211010001… mudança para 211020001.

      cod cotabil: 21101 + cod fornecedor: 0001 = 211010001

      quero mudar somente o quinto digito (1 para 2), sem que altere os outros, (pois o codigo contabil de 5 digitos sera o mesmo 21102 para todos os fornecedores), mais o fornecedor.

      Fiz assim: update pcfornec set codcontab=(21102||codfornec) where codcontab is not null;

      junta o 21102 com cod fornecedor, mas fica incompleto pois preciso das 9 posiçoes preenchidas Ex: se um codigo do fornecedor for 50, entao terei que somar 21102 + 00 + 50 = 211020050

      ja estao todos preenchidos, resumindo quero mudar somente o quinto digito (de 1 para 2).

      Aguardo ajuda, obrigado!

      Eric Clauber

      #82483
      santosclay
      Participante

        Eric.

        Acredito que se você utilizar o comando LPAD você consegurá resolver o seu problema:

        set codcontab=(21102||LPAD(codfornec,4,’0′))

        Explicação

        Este comando irá completar com um caracter (no seu caso zero) o que estiver a esquerda da string de entrada comparando o tamanho desta com o tamanaho da string de saída.

        LPAD(EXPR1, N, EXPR2)

        Onde

        EXPR1 = String de entrada.
        N = Tamanho da string de saída.
        EXPR1 = Caracter que será utilizado para completar a string de entrada caso esta não tenha o tamanho máximo.

        Logo :


        SELECT LPAD('500', 4, '0')
        FROM DUAL

        Irá gerar esse resultado:

        LPAD('500',4,'0')

        0500

        Abraços Clayton.
        😉
        P.S.”O comando RPAD faz o contrário completando a string de entrada a partir da sua direita”.

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