Usuário com melhor resposta
Alterar texto em campo do banco

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?
Respostas
-
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
- Marcado como Resposta Thales F Quintas quarta-feira, 8 de junho de 2016 12:18
-
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
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
-
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:
Argument data type ntext is invalid for argument 1 of replace function -
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
- Marcado como Resposta Thales F Quintas quarta-feira, 8 de junho de 2016 12:18
-
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
-
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
-