2011年3月23日 星期三

MS SQL char 與 varchar 和 nchar 與 nvarchar

參考資料:http://blog.yam.com/clayclay76/article/25172410
http://msdn.microsoft.com/zh-tw/library/ms186939%28v=sql.90%29.aspx

char在MS SQL中
假設指定長度為char(10)
如果填入的值是abcd
因為長度沒有達到10
所以會自動在字串右邊補空白
也就是abcd後面會有6個空白


而varchar則是相反
假設指定長度為varchar(10)
如果填入的值是abcd
並不會自動填補空白
字串一樣是abcd


固定長度 (nchar) 或可變長度 (nvarchar) 的 Unicode 資料,且使用 UNICODE UCS-2 字元集。
nchar [ ( n ) ]
n 字元的固定長度 Unicode 字元資料。n 必須是 1 到 4,000 的值。儲存體大小是 n 位元組的兩倍。nchar 的 SQL-2003 同義字是 national charnational character
nvarchar [ ( n | max ) ]
可變長度,Unicode 字元資料。n 可以是 1 到 4,000 的值。max 表示最大儲存體大小是 2^31-1 位元組。儲存體大小是輸入字元數的兩倍 + 2 位元組 (以位元組為單位)。輸入的資料長度可以是 0 字元。nvarchar 的 SQL-2003 同義字是 national char varyingnational character varying

沒有留言: