共用方式為


補充字元

字串 nchar 和 nvarchar 會以稱為 UCS-2 的編碼方式將每個字元儲存為 16 位元值。此編碼方式由 1996 年之前的 Unicode 版本所定義,支援 U+0000 到 U+FFFF 範圍內的字元。新版 Unicode 已定義 U+10000 到 U+10FFFF 範圍內的額外字元,稱為「補充字元」(Supplementary Character)。這些字元以稱為 UTF-16 的編碼方式儲存為 16 位元值組,稱為「Surrogate 字組」(Surrogate Pair)。所有新的 _100 層級定序都支援含有補充字元的語言排序。

如果使用補充字元,請考慮下列限制:

  • 補充字元只能用在 90 (含) 以上定序版本的排序及比較作業。

  • 因為補充字元會儲存為兩個 16 位元值,所以 LEN() 函數會對引數字串內含的每一個補充字元傳回值 2。同樣地,函數 CHARINDEX 及 PATINDEX 無法正確地表示字元字串內出現的補充字元。

  • LEFT、RIGHT、SUBSTRING、STUFF 以及 REVERSE 函數會將 Surrogate 字組拆開,造成無法預期的結果。

  • 不支援補充字元與底線 (_)、百分比 (%) 以及插入號 (^) 萬用字元搭配使用。

  • 不支援在中繼資料使用補充字元,例如資料庫物件的名稱。