如何在单列的两个字符串之间给换行?

时间:2019-03-25 04:57:04

标签: sql sql-server

我已经用单列存储了多个注释。在该列中,我必须将每个注释存储在新行中,以便能够区分注释。 我已经在两个字符串之间尝试了CHAR(13)和CHAR(13)+ CHAR(10)。但这不起作用。我以单行显示记录。

尝试的代码:

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

请提出解决方案。

enter image description here

2 个答案:

答案 0 :(得分:2)

您可以使用PRINT语句代替SELECT语句来实现所需的功能。

例如,您可以使用以下任何一种方式:

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.')

更新:根据this forum

  

您无法在Grid格式的SSMS中看到char(13)。该字符在那里,如果将结果输出到报告,文本,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 :(得分:0)

另一种方式

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.'