none
retirar a quebra de linha não esta funcionando RRS feed

  • Pergunta

  • Boa tarde, pessoal.

    Estou tentando retirar uma quebra de linha no Sql server, mais não esta funcionando

    SELECT @CAMPO_575_Toque_Obervacoes =  REPLACE(CONVERT(VARCHAR,d.VALOR), CHAR(13) + Char(10) ,' ') 

    oq eu posso estar fazendo errado... na verdade ele esta me trazendo so ate a quebra ex:

    ex: 

    'Salvador ·

    Terça-feira 10 de abril de 2007 Ano XCI · No 19.383'

    ao inves de vir

    'Salvador Terça-feira 10 de abril de 2007 Ano XCI · No 19.383'

    esta vindo so

    'Salvador ·

    quarta-feira, 14 de janeiro de 2015 18:59

Respostas

  • Ola Douglas.

    Tentou tirar um de cada vez?

    SELECT @CAMPO_575_Toque_Obervacoes =  REPLACE(CONVERT(VARCHAR,d.VALOR), CHAR(13) ,' ')

    SELECT @CAMPO_575_Toque_Obervacoes =  REPLACE(CONVERT(@CAMPO_575_Toque_Obervacoes, CHAR(10) ,' ')

    quarta-feira, 14 de janeiro de 2015 19:18
  • Douglas

    Como o Douglas comentou você deve fazer o repalce em duas etapas, e como você não especificou o tamanho do varchar o resultado será truncado (o default para o varchar é 30).

    teste este codigo:

    create table tbTeste (valor text)
    insert into tbTeste values('Salvador
    Terça-feira  10 de abril de 2007  Ano XCI · No 19.383')
    go
    
    SELECT replace(REPLACE(CONVERT(VARCHAR(max),valor), CHAR(13) ,' '), CHAR(10),' ')
     from tbTeste
    OBS: Considere alterar o datatype de sua tabela se possivel para varchar(max) o datatype Text esta marcado como deprecated


    Att.
    Marcelo Fernandes

    MCP, MCDBA, MCSA, MCTS, MCITP, MCT.
    Se útil, classifique!!!
    Me siga no twitter: @marcelodba

    quarta-feira, 14 de janeiro de 2015 23:12
    Moderador

Todas as Respostas

  • uso convert pq o campo é text e o replace so aceita varchar
    quarta-feira, 14 de janeiro de 2015 19:02
  • Ola Douglas.

    Tentou tirar um de cada vez?

    SELECT @CAMPO_575_Toque_Obervacoes =  REPLACE(CONVERT(VARCHAR,d.VALOR), CHAR(13) ,' ')

    SELECT @CAMPO_575_Toque_Obervacoes =  REPLACE(CONVERT(@CAMPO_575_Toque_Obervacoes, CHAR(10) ,' ')

    quarta-feira, 14 de janeiro de 2015 19:18
  • Douglas

    Como o Douglas comentou você deve fazer o repalce em duas etapas, e como você não especificou o tamanho do varchar o resultado será truncado (o default para o varchar é 30).

    teste este codigo:

    create table tbTeste (valor text)
    insert into tbTeste values('Salvador
    Terça-feira  10 de abril de 2007  Ano XCI · No 19.383')
    go
    
    SELECT replace(REPLACE(CONVERT(VARCHAR(max),valor), CHAR(13) ,' '), CHAR(10),' ')
     from tbTeste
    OBS: Considere alterar o datatype de sua tabela se possivel para varchar(max) o datatype Text esta marcado como deprecated


    Att.
    Marcelo Fernandes

    MCP, MCDBA, MCSA, MCTS, MCITP, MCT.
    Se útil, classifique!!!
    Me siga no twitter: @marcelodba

    quarta-feira, 14 de janeiro de 2015 23:12
    Moderador
  • Deleted
    quarta-feira, 14 de janeiro de 2015 23:37