2013-12-23 81 views
3

鑑於SQL Server 2012,如何在SQL腳本的nvarchar或varchar列中插入控制字符(在ASCII 32下編碼的字符,如TAB,CR,LF)?從SQL腳本在nvarchar或varchar中插入控制字符?

+0

這些字符串文字太內的所有工作的罰款。 –

+0

@MartinSmith你能詳細說明一下嗎?它與我的新問題有關http://stackoverflow.com/questions/20749961/difference-between-hex-constants-and-decimal-constants-in-sql-server? –

+0

雖然SQL小提琴似乎不喜歡所有這些字符。 [So screenshot](http://i.stack.imgur.com/BFmTL.png) –

回答

4

除非我錯過了什麼問題,你可以做到這一點使用TSQL CHAR()功能:

INSERT INTO MyTable(ColName) VALUES(CHAR(13) + CHAR(10)) 

將插入CR/LF。其他代碼也一樣。

編輯還有對於Unicode字符的TSQL NCHAR()

+0

謝謝。這裏感覺很好,因爲我已經在考慮hex-> varchar轉換。最簡單的解決方案是最好的。 +1並被接受。 (: –

+1

請注意,該功能可能因列的類型而異,使用錯誤的功能會導致錯誤的編碼。 nchar/nvarchar http://technet.microsoft.com/en-us/library/ms186939 .aspx char/varchar http://technet.microsoft.com/en-us/library/ms176089.aspx – AgustinCoder

+0

在你的答案中增加了'NCHAR'(對不起@AgustinCoder,我在編輯後才發現你的答案,也會upvote你) –