存储的字符串变长,但<8000,是不是最好用text类型?
如果设定了某字段为varchar(100),是不是不管插入的字符串实际为多少,占用空间都为100?
【SQL Server 2000】

解决方案 »

  1.   

    如果是文章之类的用text比较好
      

  2.   

    经常修改这个字段时,就用varchar如果是05用nvarchar(max)/ntext(max)
      

  3.   

    存储的字符串变长,但 <8000,是不是最好用text类型? 
    如果设定了某字段为varchar(100),是不是不管插入的字符串实际为多少,占用空间都为100? 
    varchar 有长度限制,如果定义为100, 超过就会插入失败. 如果小于100,还是会分配100的存储空间.text 定长,16 实际上只存储了一些...这个用个什么词来说呢,  定义了一些类似于地址之类的信息,或者说一些对应实际内容的索引信息. 通过这里的信息定位具体内容的位置.
    就像 access和fox之类的备注型一样. 理论学的不好,讲的可能不科学,将就看吧,能说明意思就是了.
      

  4.   

    存储的字符串变长,但 <8000,是不是最好用text类型?
    如果设定了某字段为varchar(100),是不是不管插入的字符串实际为多少,占用空间都为100?
    【SQL Server 2000】---------------------在 2005 里,不知道大家又没有留意,MS建议程序员慎用text/ntext,image类型数据,将来会用varchar(max)/nvarchar(max)替代这些类型。varchar变长,char定长,这里的变长/定长,不是存储空间或内存空间意义上的变长/定长,而是datalength意义上的变长/定长。某字段为varchar(100),存储空间肯定要100。但对该字段执行datalength,返回字符串的实际存储长度<=100(变长)。但如果是char(100),datalength全部返回100(定长)。
      

  5.   

    text型编辑麻烦呀,用varchar多好呀,当然,如果不改的话,用text好些.
      

  6.   

    如果用VARCHAR,然后对插入的数据先进行长度判断,会不会很笨?
      

  7.   

    如果是varchar(100)就是字符串的长度不能超过100
      

  8.   

    如果是varchar(100)就是字符串的存儲长度不能超过100字節