VARCHAR是可变长字符型数据类型(0--1024) CHAR是不可变长字符型数据类型(0--255)

解决方案 »

  1.   

    如果把相同长度的字符串,使用char和varchar对比,数据库文件的储存大小是否相同。既然char的功能用varchar可实现,为什么还要char型的?
      

  2.   

    如果定义谋字段为char(20),输入数据为'abc',长度不足部分用空格补齐;如果定义为varchar(20),则存储的第4个字符为‘\0’
      

  3.   

    VARCHAR不是0-1024吧?最大是8000。CHAR也不只255,bol上面都有,自己查一下。
    sql server对char和varchar的处理不太一样的。
    char是定长的,效率应该会高一点。
      

  4.   

    如果把相同长度的字符串,使用char和varchar对比,数据库文件的储存大小是不相同的。

    CREATE table aa(id char(10),name varchar(10)
    )  
    insert into  aa values('123','235')
    這時在id這個欄位存的是'123        ',即長度為10,不夠用空格補
    而name這個欄位存的是'235',即長度為3,
      

  5.   

    我也加一句话:
    如果希望列中的数据值大小接近一致,请使用 char。
    如果希望列中的数据值大小显著不同,请使用 varchar。
      

  6.   

    char不会把字符串前后的空格去掉
    如char(10)中存"aa"那么它的值是"aa        "
    而varchar是"aa"
      

  7.   

    而char也是一种淘汰的数据类型,建议使用varchar!