我们在使用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的使用,网上也是众说纷纭,如果有高手有好的见解,请留言讨论!