n unicode
var 非固定長度,4000字以內的文字
ntext unicode,4000字以上的文字
varchar
長度為 n 個字元之可變長度非 Unicode 字元資料。n 必須介於 1 至 8,000,儲存大小為實際輸入資料的長度,而非 n 個位元組。輸入的資料長度可以是 0 字元。
ntext
可變長度的 Unicode 資料,最大長度為 2^30 - 1 (1,073,741,823) 個字元。
適用時機:
varchar:
當你的字元長度少於8000個字元,且字元內容無須以 unicode 格式儲存時,可選擇varchar 註:一個中文字及一個英文字母皆算一個字元
ntext:
在 SQL Server 中,Unicode 資料是使用 nchar、nvarchar 和 ntext 資料型別來儲存。設成這些資料型別的資料行可儲存來自多個字元集的字元。若資料行項目所包含的 Unicode 字元個數並不一致 (最多為 4,000) ,請使用 nvarchar。若資料行每個項目的長度是固定的 (最多為 4,000 個 Unicode 字元),請使用 nchar。若資料行的任何項目長度超過 4,000 個 Unicode 字元,則使用 ntext。
這篇教學文章寫得很好(出處 http://www.dotblogs.com.tw/jeff-yeh/archive/2010/11/14/19440.aspx)
認識Char/NChar/VarChar/NVarChar/Text/NText
Char/NChar/VarChar/NVarChar/Text/NText,這幾個資料型別或許有些人很熟,有些人只熟其中幾個,尤其是程式設計師,不碰DB Design的,如果有碰到,也可能依"慣例"的去設定資料型別,所以不難看見,有些Table資料型別很單調,看的到的型別不多,只要是存文字的,都是NVarChar,或許在瞭解後,可以做出更好的規劃. 其實這個的識別方式很簡單.
這樣就把Char全部講完,剩Text跟Char有什麼不同,Text的特性跟VarChar一樣,只是用來儲存大量的文字資料,但後來的VarChar也做了調整,也可以存大量的文字資料,所以Text在未來新版的DB會移除.
如果您有支援多國語言的網站,請考慮利用 Unicode nchar 或 nvarchar 資料類型,將字元轉換問題減到最少。如果您使用 char 或 varchar,我們建議您執行下列動作:
|
沒有留言:
張貼留言