Sql Server:存储文本并保留换行符?

Sql Server:存储文本并保留换行符?,sql,sql-server,sql-server-2005,tsql,Sql,Sql Server,Sql Server 2005,Tsql,我想这个问题很容易回答,但我似乎想不出来 我试图将文本(电子邮件正文)存储到nvarchar(max)列中,但当我阅读它时,换行符都消失了。起初我认为这可能是编码/排序问题,但事实似乎并非如此 我四处搜索,没有看到关于这种行为的问题,所以我一定在做一些非常愚蠢的事情,但我想不出来 我保存文本格式的唯一方法是将其转换为byte[]并存储在varbinary列中,但随后我将失去所有搜索功能 编辑:哦,我忘了提到我正在使用c#和sqlserver2005。你能发布你用于存储和检索的代码吗?如果您使用@

我想这个问题很容易回答,但我似乎想不出来

我试图将文本(电子邮件正文)存储到nvarchar(max)列中,但当我阅读它时,换行符都消失了。起初我认为这可能是编码/排序问题,但事实似乎并非如此

我四处搜索,没有看到关于这种行为的问题,所以我一定在做一些非常愚蠢的事情,但我想不出来

我保存文本格式的唯一方法是将其转换为byte[]并存储在varbinary列中,但随后我将失去所有搜索功能


编辑:哦,我忘了提到我正在使用c#和sqlserver2005。

你能发布你用于存储和检索的代码吗?如果您使用@参数,它应该“正常工作”,因此肯定会出现一些“奇怪的情况:-)

您可以发布用于存储和检索的代码吗?如果您使用的是@参数,它应该“正常工作”,因此肯定会出现一些“奇怪”的情况:-)

SQL Server在插入或选择时不会删除“换行符”。事实上,不会删除任何字符(排序规则相关的字符除外)

当您在SSMS网格视图中阅读时(例如右键单击,打开表格),它们将不会被看到

您也可能在查询窗格中看不到它们,因为文本被截断(结果到文本模式)或您处于结果到网格模式

您如何知道CRs/LFs正在被删除?

SQL Server在插入或选择时不会删除“换行符”。事实上,不会删除任何字符(排序规则相关的字符除外)

当您在SSMS网格视图中阅读时(例如右键单击,打开表格),它们将不会被看到

您也可能在查询窗格中看不到它们,因为文本被截断(结果到文本模式)或您处于结果到网格模式


您如何知道CRs/LFs正在被删除?

所以您做了一些愚蠢的事情,没有发布“愚蠢”代码,然后邀请我们了解您所做的愚蠢的事情。您能发布一些代码来说明问题吗?我以前没见过那个。还有,新词是否消失了,或者被空格取代了?@Remus-如果你只有以问题的形式提供的讽刺性评论(尽管有标点符号,但我找了一个问号,但没有发现),也许你最好什么都不说。所以你做了一些愚蠢的事情,没有发布“愚蠢”代码,然后邀请我们找出你做的愚蠢的事情是什么。你能发布一些代码来演示这个问题吗?我以前没见过那个。此外,新词是否消失了,或者被空格取代了?@Remus——如果你只以问题的形式提供讽刺性的评论(尽管有标点符号——我寻找问号,但没有发现),也许你最好什么也不说。