关于CHAR(13) + CHAR(10),SQL Server Management Studio的结果不一致。

25 浏览
0 Comments

关于CHAR(13) + CHAR(10),SQL Server Management Studio的结果不一致。

我在不同的SQL Server版本上遇到了一致性问题。使用以下代码:

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

我将结果复制粘贴到记事本中

从SQL Server 2008R2显示

This is line 1. This is line 2.

从SQL Server 2014显示

This is line 1.

This is line 2.

有什么办法可以解决这个问题吗?或者为什么会这样?我想实现后者的效果。

提前感谢。

0
0 Comments

在SQL Server Management Studio (SSMS)中有一个关于CHAR(13) + CHAR(10)的奇怪问题。有时,在查询结果中,使用这个组合时会产生不一致的结果。

问题的出现原因是SSMS的Grid视图和Text视图对于换行符的处理方式不同。Grid视图会将CHAR(13) + CHAR(10)作为一个单独的字符显示,而Text视图会将其解释为回车换行符。

解决这个问题的方法是将查询结果的显示模式从Grid视图切换到Text视图。这样,就能正确地显示CHAR(13) + CHAR(10)的换行效果。

下面是切换查询结果显示模式的代码示例:

SET TEXTSIZE 2147483647;

将此语句添加到查询前,即可将结果显示模式切换为Text视图。这样,查询结果中的换行符就能正确地显示出来。

希望这个解决方法能帮助你解决CHAR(13) + CHAR(10)在SSMS中的显示问题。

0