Sql server 在SQL中,如何在文本中添加换行符并在结果窗口中显示文本?

Sql server 在SQL中,如何在文本中添加换行符并在结果窗口中显示文本?,sql-server,output,line,break,Sql Server,Output,Line,Break,我试图在两个不同的行上显示harcoded文本,然后在它们后面显示三个表。我遇到的问题是让文本和表格显示在同一个窗口中。这可能吗 我把密码从 把它和我自己的结合起来得到这个 DECLARE @ASTATEMENT VARCHAR(100); SET @ASTATEMENT = 'LINE 1' + CHAR(13)+CHAR(10) + 'LINE 2'; SELECT @aStatement SELECT * FROM table1 SELECT * FROM table2 SELECT *

我试图在两个不同的行上显示harcoded文本,然后在它们后面显示三个表。我遇到的问题是让文本和表格显示在同一个窗口中。这可能吗

我把密码从 把它和我自己的结合起来得到这个

DECLARE @ASTATEMENT VARCHAR(100);
SET @ASTATEMENT = 'LINE 1' + CHAR(13)+CHAR(10) + 'LINE 2';
SELECT @aStatement

SELECT * FROM table1
SELECT * FROM table2
SELECT * FROM table3
此代码执行并显示在“结果”窗口中,但在第一个SELECT语句的两行中没有设计的功能

所以我把它改成

DECLARE @ASTATEMENT VARCHAR(100);
SET @ASTATEMENT = 'LINE 1' + CHAR(13)+CHAR(10) + 'LINE 2';
PRINT @aStatement

SELECT * FROM table1
SELECT * FROM table2
SELECT * FROM table3
现在,换行符正确,但文本显示在消息窗口中,我的表格显示在结果窗口中。有没有办法让两者都显示在结果窗口中


注意:作为替代,我知道我可以简单地创建一个临时表。用所需文本填充我的表格,然后从该临时表格中选择*。但是我希望不必这样做。

您不能这样做,因为打印将转到“消息”选项卡,然后选择“结果到结果”选项卡

SELECT@aStatement意味着给我一行,其中value将是变量@aStatement的值,所以选择这个变量都不能得到你想要的


我能想到的一种方法是在查询窗口中单击鼠标右键,结果到->结果到文本。并执行您的语句。

如前所述,Sql Server Management Studio在网格模式下显示结果时会忽略换行符

如果确实需要在网格模式下将结果显示为不同的行,可以执行以下操作:

    Select LineText
    From   (
        Select Cast('<X>'+Replace(@ASTATEMENT,CHAR(13) + CHAR(10),'</X><X>')+'</X>' As XML) As record
    ) x
    Cross Apply
    ( 
        Select fdata.D.value('.','varchar(50)') As LineText
        From x.record.nodes('X') As fdata(D)
    ) t

尝试使用ctrl+t将输出设置为文本而不是网格。