2009-10-05 102 views
0

我想這個問題很容易回答,但我似乎無法弄清楚。Sql Server:存儲文本並保留換行符?

我試圖將文本(電子郵件正文)存儲到nvarchar(max)列中,但是當我閱讀它時,換行符都沒有了。起初我認爲這可能是一些編碼/整理問題,但似乎並非如此。

我周圍搜索,並沒有看到有關這種行爲的問題,所以我一定在做一些非常愚蠢的事情,但我無法弄清楚。

我設法保留文本格式的唯一方法是將其轉換爲byte []並將其存儲在varbinary列中,但後來我失去了所有搜索功能!

編輯:哦,我忘了提及我正在使用c#和sqlserver2005。

+0

所以你你做了一些愚蠢的事情,沒有發佈'愚蠢'的代碼,然後邀請我們弄清楚*你做了什麼愚蠢的事情。 – 2009-10-05 05:32:51

+1

你可以發佈一些代碼來證明這個問題嗎?以前沒見過那個。此外,是換行符*走了*還是換成空格? – richardtallent 2009-10-05 05:33:11

+0

@Remus - 如果你只有一個問題形式的提示(儘管標點符號 - 我找到了一個問號但沒有找到),也許你最好什麼都不要說。 – 2009-10-05 05:40:09

回答

0

您可以發佈您用於存儲和檢索的代碼嗎?如果你使用的是@參數,它應該「只是工作」,所以「奇怪」肯定會發生:-)

4

SQL Server在插入或選擇時不會刪除「新行」。事實上,沒有字符被刪除(除了排序依賴等)

當你閱讀SSMS網格視圖(如右鍵單擊,打開表格),那麼他們將不會被看到。

您也可能在查詢窗格中看不到它們,因爲文本被截斷(結果爲文本模式),或者您處於網格模式的結果中。

你怎麼知道CRs/LFs被刪除?