SQL Server не работает \ CR LF
У меня есть таблица с text
типа столбца. В этом столбце сохраняются параметры, по одному на строку.
Моя проблема, если параметры заканчиваются на «\», поскольку имя пути, при сохранении данных, SQL Server удаляет CR LF, оставляя два параметра в строке.
пример
Сохранить
Path=C:\Transfer\ Outher=Yes Outher1=No
оправляться
Path=C:\Transfer\Outher=Yes Outher1=No
С чем SQL Server не очистил «CR LF» после «\»?
Дополнительная информация
create table TEST ( Ini text); insert into TEST values ( 'Path=C:\Transfer Outher=Yes Outher1=No '); insert into TEST values ( 'Path=C:\Transfer\ Outher=Yes Outher1=No '); select * from TEST;
Первая вставка возврата
Вставка второй вставки
По-видимому, это по дизайну, чтобы обеспечить лучшую читаемость длинных строк в SSMS (или любом другом клиенте).
Разбивает длинную строчную константу на две или более строк для удобства чтения.
Вы можете обойти это, разместив пространство после вашего \
select 'Path=C:\Transfer\ Outher=Yes Outher1=No'
или
Явно конкатенация новой строки отдельно
select 'Path=C:\Transfer\'+ ' Outher=Yes Outher1=No'
или
Удвоение всего (спасибо @TT)
select 'Path=C:\Transfer\\ Outher=Yes Outher1=No'
См. Также этот ответ .