none
Alterar texto em campo do banco RRS feed

  • Pergunta

  • Ola pessoal 

    Estou com uma missão um pouco ingrata

    O aplicativo interno da empresa, gerou mais de 1500 textos dentro do banco de dados de forma incorreta.

    Com isso nao podemos excluir para fazer novamente, e meu gerente pediu para que a alteração fosse feita diretamente no banco de dados.

    Abaixo é como esta o texto no campo:

    6c005f006e0075006d00650072006f002f003e000000}{\*\txfieldtext

    44.64.72.0250.03.001{\*\txfieldend}}44.64.72.0250.03.001}\plain\f1\fs24\cf1{\txfielddef{\*\txfieldstart\txfieldtype0\txfieldflags152\txfielddataval30\txfielddata

    ab0069006d006f00760065006c005f0063006f006e007400720069006200750069006e00740065005f006100740075006100

    6c005f006e0075006d00650072006f005f0070006f00730074006500720069006f007200bb000000}{\*\txfieldtext .{\*\txfieldend}}.}\plain\f1\fs24\cf1\par REGISTROS ANTERIORES: R.10-92.255, em \plain\f1\fs24\cf1{\txfielddef{\*\txfieldstart\txfieldtype0\txfieldflags155\txfielddataval31\txfielddata

    3c0072006500670069007300740072006f005f0064006100740061005f0065007800740065006e0073006f002f003e000000

    }{\*\txfieldtext (aguardando registro!){\*\txfieldend}}(aguardando registro!)}\plain\f1\fs24\cf1 , deste Livro e Servi\loch\f1\hich\f1\'e7o.\par PROPRIET\'c1RIA: \plain\f1\fs24\cf1{\txfielddef{\*\txfieldstart\txfieldtype0\txfieldflags155\txfielddataval32\txfielddata 

    Eu coloquei apenas uma parte, senao nao iria caber

    Minha missao é ir alterar onde esta REGISTROS ANTERIORES para REGISTRO ANTERIOR 

    Existe uma forma de fazer isso?

    terça-feira, 7 de junho de 2016 19:53

Respostas

Todas as Respostas

  • Boa tarde,

    Tiago, talvez você possa utilizar a função Replace.

    Experimente fazer uns testes com uma query para ver se é obtido o resultado esperado; se for basta utilizar a função com um Update. Ex:

    select Replace(Coluna, 'REGISTROS ANTERIORES', 'REGISTRO ANTERIOR') 
    from Tabela

    Espero que ajude


    Assinatura: http://www.imoveisemexposicao.com.br

    terça-feira, 7 de junho de 2016 20:01
  • Boa tarde

    Obrigado por me ajudar

    Tentei executar o comando para testes:

    select Replace(Texto, 'REGISTROS ANTERIORES', 'REGISTRO ANTERIOR')

    from tblWRIVersoesExtratos

    Emitiu a mensagem de erro:

    Msg 8116, Level 16, State 1, Line 1
    Argument data type ntext is invalid for argument 1 of replace function

    terça-feira, 7 de junho de 2016 20:07
  • Experimente adicionar a função Cast para fazer a conversão para nvarchar:

    select Replace(Cast(Texto as nvarchar(max)), 'REGISTROS ANTERIORES', 'REGISTRO ANTERIOR')
    from tblWRIVersoesExtratos

    Espero que ajude


    Assinatura: http://www.imoveisemexposicao.com.br

    terça-feira, 7 de junho de 2016 20:15
  • Cara voce é o cara... deu certo....

    A ultima agora se nao for pedir muito, eu nem havia colocado antes, mas talvez voce tambem possa me ajudar

    tambem eu preciso corrigir o seguinte:

    5b0043006f006e0074006500fa0064006f0020004c0069007600720065005f00350037005d000000}{\*\txfieldtext inscrita no CNPJ/MF sob n\loch\f1\hich\f1\'ba{\*\txfieldend}}inscrita no CNPJ/MF sob n\loch\f1\hich\f1\'ba}\plain\f1\fs24\cf1  \plain\f1\fs24\cf1{\txfielddef{\*\txfieldstart\txfieldtype0\txfieldflags155\txfielddataval62\txfielddata

    3c007400720061006e0073006d006900740065006e00740065005f0064006f00630075006d0065006e0074006f0073005f00

    7400690070006f002f003e000000}{\*\txfieldtext CNPJ{\*\txfieldend}}CNPJ}\plain\f1\fs24\cf1  \plain\f1\fs24\cf1{\txfielddef{\*\txfieldstart\txfieldtype0\txfieldflags155\txfielddataval63\txfielddata 

    Eu preciso tirar o ultimo CNPJ, porem como voce pode ver eu tenho nas linhas acima a palavra inscrita no CNPJ/MF sob n ( que eu preciso manter)

    Tem como eu retirar apenas o ultimo CNPJ?

    7400690070006f002f003e000000}{\*\txfieldtext CNPJ{\*\txfieldend}}CNPJ}\plain\f1\fs24\cf1  \plain\f1\fs24\cf1{\txfielddef{\*\txfieldstart\txfieldtype0\txfieldflags155\txfielddataval63\txfielddata 

    Muito obrigado

    terça-feira, 7 de junho de 2016 20:38
  • Não sei se entendi corretamente mas experimente fazer uns testes:

    select 
        Replace
            (Replace
                 (Cast(Texto as nvarchar(max)), 
                  'REGISTROS ANTERIORES', 
                  'REGISTRO ANTERIOR'),
             'txfieldtext CNPJ',
             'txfieldtext')
    from tblWRIVersoesExtratos

    Espero que ajude


    Assinatura: http://www.imoveisemexposicao.com.br

    • Marcado como Resposta Tiago_Aurelio quarta-feira, 8 de junho de 2016 12:59
    terça-feira, 7 de junho de 2016 20:51
  • Bom dia Gapimex

    Mais uma vez, resolveu meu problema, nao palavras para agradecer,

    Muito obrigado

    quarta-feira, 8 de junho de 2016 12:59