DECLARE @name1 VARCHAR(20),
@name2 VARCHAR(20)
SET @name1 = 'Hello'
SET @name2 ='World'
SELECT @name1 + CHAR(13)+CHAR(10) + @name2
Reslut
Hello World
但我想要像这样的结果
Hello
World
char(13)+ Char(10)不适用于换行(\ n)和回车(\ r)
答案 0 :(得分:0)
您需要切换到Result to Text
以查看新行中的结果,例如,按 CTRL + T 然后执行查询。
<强>输出:强>
------------------------------------------
Hello
World
(1 row(s) affected)
您可以找到this good reference,看看为什么我说这是不可能的:
使用结果到网格选项时,我们使用标准Windows 网格控件显示结果。此网格控件处理每个 单元格值作为纯文本,因此新行字符是 忽略。从结果部分执行时保存为函数 只是从网格中获取内容,因此新行是 在从网格创建的新文件中找不到。但是,如果你使用 结果到文本选项或结果以提交新行 字符被保留。 SSMS并不是真正的报告 工具,所以我们无法在结果格式上花费太多时间, 特别是如果存在如上所述的一些解决方法。
答案 1 :(得分:0)
表格结果不会显示换行符。打印如下。
DECLARE @NewLineChar AS CHAR(2) = CHAR(13) + CHAR(10)
PRINT ('SELECT FirstLine AS FL ' +@NewLineChar + 'SELECT SecondLine AS SL' )
答案 2 :(得分:0)
DECLARE @name1 VARCHAR(20),
@name2 VARCHAR(20)
SET @name1 = 'Hello'
SET @name2 ='World'
SELECT @name1
Union
select @name2
试试这个...