varchar用时比较灵活,大小也适合掌握

解决方案 »

  1.   

    char 和 varchar
    固定长度 (char) 或可变长度 (varchar) 字符数据类型。char[(n)]长度为 n 个字节的固定长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为 n 个字节。char 在 SQL-92 中的同义词为 character。varchar[(n)]长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节。所输入的数据字符长度可以为零。varchar 在 SQL-92 中的同义词为 char varying 或 character varying。注释
    如果没有在数据定义或变量声明语句中指定 n,则默认长度为 1。如果没有使用 CAST 函数指定 n,则默认长度为 30。将为使用 char 或 varchar 的对象被指派数据库的默认排序规则,除非用 COLLATE 子句另外指派了特定的排序规则。该排序规则控制用于存储字符数据的代码页。支持多语言的站点应考虑使用 Unicode nchar 或 nvarchar 数据类型以尽量减少字符转换问题。如果使用 char 或 varchar: 如果希望列中的数据值大小接近一致,请使用 char。
    如果希望列中的数据值大小显著不同,请使用 varchar。 
    如果执行 CREATE TABLE 或 ALTER TABLE 时 SET ANSI_PADDING 为 OFF,则一个定义为 NULL 的 char 列将被作为 varchar 处理。 当排序规则代码页使用双字节字符时,存储大小仍然为 n 个字节。根据字符串的不同,n 个字节的存储大小可能小于 n 个字符。
      

  2.   

    varchar是可变字节的数据类型,因此每条记录的存储空间不可预计,查询时比较困难,char是不可变字节的,存储空间固定,查询比较时方便快捷,换句话说,varchar虽然提供了较高的灵活性,但确实已性能为代价,尤其是大型数据库,所以,能用char是最好不要用varchar
      

  3.   

    varcahr想楼上说的,用char时最好的是存储和提取数据时非常快速!相对varchar来说比较快!!!
      

  4.   

    char 和 varchar
    固定长度 (char) 或可变长度 (varchar) 字符数据类型。char[(n)]长度为 n 个字节的固定长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为 n 个字节。char 在 SQL-92 中的同义词为 character。varchar[(n)]长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节。所输入的数据字符长度可以为零。varchar 在 SQL-92 中的同义词为 char varying 或 character varying。注意:char是固定长度,而varchar是变长,
    例如,如果一个列被定义为 char(10) 并且要存储的数据是"music",则 SQL Server 将这个数据存储为"music_____",这里"_"表示空格。而varchar(10),数据存储为"music",无空格
      

  5.   

    例如,如果一个列被定义为  char(10)  并且要存储的数据是  "music  ",则  SQL  Server  将这个数据存储为  "music_____  ",这里  "_  "表示空格
    ----這樣啊?我要
    查询music时候,数据库中存储的是music_____ 会不会查不出来啊?
      

  6.   

    当你要保存固定长度的字段时用char,如果字段内容的长度不是固定的常数,那就用VARCHAR。