gpt4 book ai didi

sql-server - 换行符丢失在SQL Server中

转载 作者:行者123 更新时间:2023-12-03 07:30:59 25 4
gpt4 key购买 nike

我正在数据库中的ErrorLog表中输入错误信息。我有一个实用程序类来执行此操作:

ErrorHandler.Error("Something has broken!!\n\nDescription");

这很好。但是,当我尝试访问该表时,似乎不再出现换行符。

如果我用 SELECT表:
SELECT * from ErrorLog ORDER BY ErrorDate

日志中没有换行符。这是一种预期,因为单行行中的换行符会破坏格式。但是,如果我将数据复制出来,则换行符已丢失,并且数据全部在一行上。

将换行符放入查询后,如何在数据末尾获得换行符?我不知道在进入表时字符串是否已被换行,或者SQL Server Management Studio中的查看器是否已将换行。

错误消息所在的列的数据类型为 nvarchar(Max),如果有区别的话。

编辑:出乎意料的是,彭德里的解决方案不起作用。

这是字符串在传递到SQL Server之前的摘录:
POST /ipn/paymentResponse.ashx?installation=272&msgType=result HTTP/1.0\n\rContent-Length: 833\n\rContent-Type: 

当我从SQL Server Management Studio中的网格查看器中提取字符串时,这是相同的字符串:
POST /ipn/paymentResponse.ashx?installation=272&msgType=result HTTP/1.0  Content-Length: 833  Content-Type:

换行应放置的位置已加倍间隔。

有任何想法吗?

最佳答案

SSMS将换行符替换为网格输出中的空格。如果使用“打印”来打印值(将转到“消息”选项卡),则如果回车与数据一起存储,则会在其中显示回车符。

例:

SELECT 'ABC' + CHAR(13) + CHAR(10) + 'DEF'
PRINT 'ABC' + CHAR(13) + CHAR(10) + 'DEF'

第一个将不间断地显示在网格中的单个单元格中,第二个将不间断地显示在消息 Pane 中。

打印这些值的一种快速简便的方法是选择一个变量:
DECLARE @x varchar(100);
SELECT @x = 'ABC' + CHAR(13) + CHAR(10) + 'DEF';
PRINT @x;

关于sql-server - 换行符丢失在SQL Server中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8387976/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com