我們在使用SQL Server 2000進行數據庫編程時,對於字符型數據類型的使用是必不可少的。下面就簡單介紹一下char和varchar字符數據在使用上的區別。
char和varchar的長度都在1到8000之間,它們的區別在於char是定長字符數據,而varchar是變長字符數據。所謂定長就是長度是固定的,當輸入的數據長度沒有達到指定的長度時將自動以英文空格在其後面填充,使長度達到相應的長度;而變長字符數據則不會以空格填充。
舉例來說,varchar(10),我們給它賦的值是htmer,那麼它在數據庫中存儲的值就是htmer;同樣,char(10),我們給它賦的值是htmer,那麼它在數據庫中存儲的值就是htmer+5個空格。
由於char是以固定長度的,所以它的速度會比varchar快,但程序處理起來要麻煩一點,要用trim之類的函數把後邊的空格去掉。另外,char與varchar相比,前者的存儲空間要比後者大。所以,在實際使用中要根據實際情況,如果能確定字符長度,那就用char,如果不能確定而又想節省點存儲空間,那就用varchar。
關於char和varchar的使用,網上也是眾說紛纭,如果有高手有好的見解,請留言討論!