我已经用单列存储了多个注释。在该列中,我必须将每个注释存储在新行中,以便能够区分注释。 我已经在两个字符串之间尝试了CHAR(13)和CHAR(13)+ CHAR(10)。但这不起作用。我以单行显示记录。
尝试的代码:
DECLARE @text NVARCHAR(100)
SET @text = 'This is line 1.' + CHAR(13) + 'This is line 2.'
SELECT @text
请提出解决方案。
答案 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.'