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

时间:2009-10-05 05:24:59

标签: sql sql-server sql-server-2005 tsql

我认为这个问题有点容易回答,但我似乎无法弄明白。

我正在尝试将文本(电子邮件正文)存储到nvarchar(max)列中,但是当我读取它时,换行符全部消失了。起初我认为这可能是一些编码/整理问题,但似乎并非如此。

我已经四处寻找并且没有看到有关此行为的问题,所以我必须做一些非常愚蠢的事情,但我无法理解。

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

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

2 个答案:

答案 0 :(得分:4)

SQL Server在插入或选择时不会删除

“newlines”。实际上,没有删除任何字符(除了校对依赖等)

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

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

你怎么知道CR / LF被删除了?

答案 1 :(得分:0)

您可以发布用于存储和检索的代码吗?如果你正在使用@parameter它应该“正常工作”所以“奇怪”的东西肯定会发生: - )