SQL中N的作用?(轉(zhuǎn))
當(dāng)前位置:點晴教程→知識管理交流
→『 技術(shù)文檔交流 』
SQL中N的作用? exec sp_executesql N'SELECT TOP 1 ISNULL(vDefine1,'''') AS vMonth, dtBegin, dtEnd FROM SM_ActMonth WHERE vActID=@P1 AND bCarryForward=@P2 ORDER BY iListID DESC exec sp_executesql N'SELECT * FROM KEHU WHERE KHDM>=@P1 AND ZK=@P2',N'@P1 VARCHAR(20),@P2 Numeric(18,6)','001',1
N'string' 表示string是個Unicode字符串 -------------------------------------------------------------------------- 使用 Unicode 數(shù)據(jù) 對于用一個字節(jié)編碼每個字符的數(shù)據(jù)類型,存在的問題之一就是此數(shù)據(jù)類型只能表示 256 個不同的字符。這就迫使對于不同的字母表(例如相對較小的歐洲字母表)采用多重編碼規(guī)格(或者代碼頁)。而且也不可能處理象日文漢字或韓國文字這樣具有數(shù)千個字符的字母表。 每個 Microsoft® SQL Server? 排序規(guī)則都有一個對表示 char、varchar 和 text 值中的每個字符定義位模式進行定義的代碼頁??蔀閭€別的列和字符常量指派不同的代碼頁。客戶端計算機使用與操作系統(tǒng)區(qū)域設(shè)置相關(guān)聯(lián)的代碼頁解釋字符位模式。有很多種不同的代碼頁。一些字符出現(xiàn)在某些代碼頁上,但并不出現(xiàn)在其它的代碼頁上。某些字符在一些代碼頁上用一個位模式定義,而在其它的代碼頁上卻用另一個位模式定義。當(dāng)您設(shè)計必須處理不同語言的國際性系統(tǒng)時,為了滿足不同國家/地區(qū)的語言需求,給所有的計算機挑選代碼頁就變得困難了。要保證每一臺計算機與使用不同代碼頁的系統(tǒng)交互時都進行正確的翻譯也是困難的。 Unicode 規(guī)格通過采用兩個字節(jié)編碼每個字符使這個問題迎刃而解。轉(zhuǎn)換最通用商業(yè)語言的單一規(guī)格具有足夠多的 2 字節(jié)的模式 (65,536)。因為所有的 Unicode 系統(tǒng)均一致地采用同樣的位模式來代表所有的字符,所以當(dāng)從一個系統(tǒng)轉(zhuǎn)到另一個系統(tǒng)時,將不會存在未正確轉(zhuǎn)換字符的問題。通過在整個系統(tǒng)中使用 Unicode 數(shù)據(jù)類型,可盡量減少字符轉(zhuǎn)換問題。 在 Microsoft SQL Server 中,以下數(shù)據(jù)類型支持 Unicode 數(shù)據(jù): nchar nvarchar ntext
nchar、nvarchar 和 ntext 的用法分別與 char、varchar 和 text 的用法一樣,但在以下方面不同: Unicode支持的字符范圍更大。 存儲 Unicode 字符所需要的空間更大。 nchar 和 nvarchar 列最多可以有 4,000 個字符,而不象 char 和 varchar 字符那樣可以有 8,000 個字符。 Unicode 常量使用 N 開頭來指定:N'A Unicode string'。 所有 Unicode 數(shù)據(jù)都使用相同的 Unicode 代碼頁。排序規(guī)則不控制用于 Unicode 列的代碼頁,僅控制比較規(guī)則和是否區(qū)分大小寫等特性。 該文章在 2010/12/25 21:44:14 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |