Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 как убрать перенос строки  [new]
NewIvanovec
Member

Откуда: Ivanovo
Сообщений: 586
В managment studio в виде "сетки" текст
автор
Добавление доверенного получателя БИК 042406608 Счет 40702810900000000050 ID сессии 296153 Пароль 535905
запрос возвращается одной строкой.
В виде "текста" запрос возвращается как несколько строк.

Как сделать так, чтобы запрос в виде "текста" тоже возвращался одной строкой.

К сообщению приложен файл. Размер - 16Kb
11 июл 13, 08:43    [14550204]     Ответить | Цитировать Сообщить модератору
 Re: как убрать перенос строки  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10233
Блог
удалите спец символы char(10) и char(13)
11 июл 13, 08:45    [14550213]     Ответить | Цитировать Сообщить модератору
 Re: как убрать перенос строки  [new]
Добрый Э - Эх
Guest
Перенос строк / возврат каретки - chr(13) / chr(10).
Видимо, нужно просто поудалять эти символы из возвращаемой строки?
11 июл 13, 08:48    [14550224]     Ответить | Цитировать Сообщить модератору
 Re: как убрать перенос строки  [new]
NewIvanovec
Member

Откуда: Ivanovo
Сообщений: 586
 REPLACE(smo.TEXT_MESSAGE, 'char(10)', '555'),
       REPLACE(smo.TEXT_MESSAGE, 'char(13)', '555'),
       REPLACE(smo.TEXT_MESSAGE, 'char(10)+char(13)', '555'),

не помогает
11 июл 13, 08:57    [14550256]     Ответить | Цитировать Сообщить модератору
 Re: как убрать перенос строки  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10233
Блог
NewIvanovec
не помогает

(c) не верю

set nocount on
declare @str varchar(124) =
'
Раз
Два
Три
'

print @str
print '--------------'
print (replace(replace(@str, char(10), ''), char(13), ''))


К сообщению приложен файл. Размер - 958bytes
11 июл 13, 09:03    [14550277]     Ответить | Цитировать Сообщить модератору
 Re: как убрать перенос строки  [new]
Ken@t
Member

Откуда: 大地
Сообщений: 3265
NewIvanovec
 REPLACE(smo.TEXT_MESSAGE, 'char(10)', '555'),
       REPLACE(smo.TEXT_MESSAGE, 'char(13)', '555'),
       REPLACE(smo.TEXT_MESSAGE, 'char(10)+char(13)', '555'),

не помогает


Жесть, в документацию так и не заглянули.

REPLACE(REPLACE(smo.TEXT_MESSAGE, CHAR(10), ''),CHAR(13),'') 


В никсах часто только CR, в ssms тоже кстати . Часто приложения чувствительны к последовательности CHAR(13)+CHAR(10)
11 июл 13, 09:06    [14550283]     Ответить | Цитировать Сообщить модератору
 Re: как убрать перенос строки  [new]
NewIvanovec
Member

Откуда: Ivanovo
Сообщений: 586
Knyazev Alexey
NewIvanovec
не помогает

(c) не верю

set nocount on
declare @str varchar(124) =
'
Раз
Два
Три
'

print @str
print '--------------'
print (replace(replace(@str, char(10), ''), char(13), ''))


replace(replace(smo.TEXT_MESSAGE, char(10), ' '), char(13), ' ')
- вот так работает.
Спасибо.
11 июл 13, 09:07    [14550285]     Ответить | Цитировать Сообщить модератору
 Re: как убрать перенос строки  [new]
Fur
Guest
Мои две копейки.

"Перенос строк в разных кодировках"
ОписаниеУправляющий символASCIIЮникодDelphiSQLEscape/POSIX (C++|Java|JavaScript|RegExp)
Unix:перевод строки<LF>0x0AU+000A#10char(10)\n
Mac:возврат каретки<CR>0x0DU+000D#13char(13)\r
Win:возврат каретки + перевод строки<CR><LF>0x0D0x0AU+000DU+000A#13#10char(13)+char(10)\r\n

Остальное неправильно, но никто не помешает например в HEX-редакторе написать "\n\r". Большинство текстовых редакторов сами пытаются поменять как надо, если встретят такое. Так же например если Mac подсунуть стиль Unix или Win - почти наверняка разберётся и откроет правильно.
А чтоб полностью убрать всё и в любом случае нужно делать как написал товарищ Ken@t.
11 июл 13, 13:27    [14552097]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить