Как указать разрыв строки между двумя строками в одном столбце?

#sql #sql-server

#sql #sql-сервер

Вопрос:

Я использовал один столбец для хранения нескольких комментариев. В этом столбце я должен хранить все комментарии в новой строке, чтобы я мог различать комментарии. Я пробовал CHAR (13) и CHAR (13) CHAR (10) между двумя строками. Но это не работает.Я показал записи в одной строке.

Пробовал код:

 DECLARE @text NVARCHAR(100)
SET @text = 'This is line 1.'   CHAR(13)   'This is line 2.'
SELECT @text
  

Пожалуйста, предложите решение.

введите описание изображения здесь

Комментарии:

1. dbfiddle.uk / … его рабочий

2. Это не работает. вы тестировали в какой версии management studio?

3. @ZaynulAbadinTuhin для вашей справки я прикрепил изображение в запросе

Ответ №1:

Вы можете использовать PRINT оператор вместо SELECT statement для достижения того, чего вы хотите.

Например, вы можете использовать любое из следующих действий:

 PRINT 'This is line 1.'   CHAR(13)   'This is line 2.'
  

Или

 PRINT 'This is line 1.'   CHAR(13) CHAR(10)   'This is line 2.'
  

Или

 PRINT CONCAT(N'This is line 1.', 0xd000a, N'This is line 2.')
  

ОБНОВЛЕНИЕ: Согласно этому форуму,

Вы не можете видеть char (13) в SSMS в формате Grid. Этот символ есть, и вы можете увидеть его, если вы выводите результат в отчет, в текст, в Excel. Но в сетке SSMS вы не можете увидеть этот символ.

Вы можете изменить настройки с «Результаты в сетке» на «Результаты в текст» из меню, выполнив следующие действия:

Запрос -> Результаты в -> Результаты в текст

Затем вы сможете просмотреть разрыв строки между двумя строками, используя любое из следующих действий

 SELECT 'This is line 1.'   CHAR(13)   'This is line 2.'
  

Или

 SELECT 'This is line 1.'   CHAR(13) CHAR(10)   'This is line 2.'
  

Или

 SELECT CONCAT(N'This is line 1.', 0xd000a, N'This is line 2.')
  

Комментарии:

1. Да, мы можем использовать, но результат мы не получим в правильном формате таблицы..

2. @Gopal Я обновил ответ в соответствии с вашим комментарием. Пожалуйста, проверьте это.

3. у меня есть один запрос. Можно ли просмотреть разрыв строки, пока результат находится в формате Grid?

4. Насколько мне известно, я думаю, что это невозможно.

5. @Gopal, формат grid не будет отображать разрывы строк (которые должны быть CR / LF, а не просто CR или LF в Windows). Однако вы можете сохранить их при копировании / вставке результатов таблицы. В меню SSMS выберите Параметры запроса -> Результаты-> Сетка-> Сохранить CR / LF при копировании или сохранении.

Ответ №2:

другой способ

 select concat(N'This is line 1.', 0xd000a, N'This is line 2.')
  

или

 select 'This is line 1.'   CHAR(13) CHAR(10)   'This is line 2.'
  

Комментарии:

1. @Gopal попробуйте 2-й

2. @Gopal dbfiddle.uk / … проверьте эту ссылку

3. о коде, не работающем в SQL server management studio 2017.. Запись, хранящаяся в одной строке.