none
Adicionar um caractere na setima posição de uma string RRS feed

  • Pergunta

  • Bom dia,

    amigos, tenho uma string e preciso acrescentar um 0 na sétima posição desta string.

    Ex. hoje está assim xxx.xx.xxx  preciso que fique assim : xxx.xx0.xxx

    Com este código eu consigo inserir um 0 no final, não consegui um jeito de contar inserir o 0 somente na 7 posição, 

    UPDATE tabela
    set codcompleto = codcompleto +'0' 

    sexta-feira, 14 de setembro de 2012 11:53

Respostas

  • Bom dia,

    Tente assim...

    UPDATE tabela
    SET codcompleto = LEFT(codcompleto, 6) + '0' + RIGHT(codcompleto, LEN(codcompleto) - 6)

    Abçs
    • Editado _Juliano_Alves_ sexta-feira, 14 de setembro de 2012 12:01
    • Marcado como Resposta demio sexta-feira, 14 de setembro de 2012 13:01
    sexta-feira, 14 de setembro de 2012 11:59

Todas as Respostas

  • Bom dia,

    Tente assim...

    UPDATE tabela
    SET codcompleto = LEFT(codcompleto, 6) + '0' + RIGHT(codcompleto, LEN(codcompleto) - 6)

    Abçs
    • Editado _Juliano_Alves_ sexta-feira, 14 de setembro de 2012 12:01
    • Marcado como Resposta demio sexta-feira, 14 de setembro de 2012 13:01
    sexta-feira, 14 de setembro de 2012 11:59
  • Declare @Tabela Table (Texto VarChar(30))
    Insert Into @Tabela Values ('xxx.xx.xxx')

    Update
      @Tabela
    Set
      Texto = Left(Texto, 6) + '0' + Right(Texto, Len(Texto) - 6)

    Select * From @Tabela

    Roberson Ferreira - Database Developer
    Acesse: www.robersonferreira.com.br
    Email: contato@robersonferreira.com.br

    Se esta sugestão for útil, por favor, classifique-a como útil.
    Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.

    sexta-feira, 14 de setembro de 2012 11:59
    Moderador
  • Juliano, bom dia. Tem que ser Len(Campo) - 6.

    Roberson Ferreira - Database Developer
    Acesse: www.robersonferreira.com.br
    Email: contato@robersonferreira.com.br

    Se esta sugestão for útil, por favor, classifique-a como útil.
    Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.

    sexta-feira, 14 de setembro de 2012 12:01
    Moderador
  • Juliano, bom dia. Tem que ser Len(Campo) - 6.

    Roberson Ferreira - Database Developer
    Acesse: www.robersonferreira.com.br
    Email: contato@robersonferreira.com.br

    Se esta sugestão for útil, por favor, classifique-a como útil.
    Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.


    Sim, já corrigi!
    sexta-feira, 14 de setembro de 2012 12:02
  • Vou testar, e posto o resultado.

    Testei e deu certo precisei fazer umas alterações mas o caminho era esse ae mesmo, muito obrigado.

    ficou assim:

    UPDATE tabela
    SET codcompleto = LEFT(codcompleto, 9) + 'YY' + RIGHT(codcompleto, LEN(codcompleto)- 9)
    where len(codcompleto) > 9 

    haviam campos onde codcompleto era de apenas 3 posições e isso causava erros.

    • Editado demio sexta-feira, 14 de setembro de 2012 13:03 teste
    sexta-feira, 14 de setembro de 2012 12:09
  • Sei que o POST é antigo, mas pode ser útil para quem está pesquisando o assunto, como eu.

    Existe outra maneira:

    UPDATE tabela 

    SET codcompleto = STUFF(codcompleto, 7, 0, '0') 

    WHERE LEN(codcompleto) > 6

    Espero que seja útil.


    quarta-feira, 6 de dezembro de 2017 12:35
  • Eu usaria assim:

    Declare @Texto Varchar(10)
    SET @Texto = 'xxx.xx.xxx'
    --de xxx.xx.xxx
    --para xxx.xx0.xxx

    print Substring(@Texto,1,6)+'0'+Substring(@Texto,7,len(@Texto))

    quarta-feira, 6 de dezembro de 2017 18:54