sql server 2000 中我把一个字段的数据类型设置成varchar(8000),但实际只能存900个字符,为什么?
执行sql脚本如下:
INSERT INTO 测试 (时间,类型,数据) VALUES ('2012-09-26 22:22:23','电压超限','-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,-0.123456,');
注:执行上面语句后可以写入表中。现在的数据列是900个字符,再增加一个就不能存进去数据库的表中了,为什么?
   数据 ---类型为 text 也是同样的问题。。

解决方案 »

  1.   

    print出来的和执行的是不一样的哦,print 的有长度限制的。
      

  2.   

    选项->查询结果->SQL Server ->以文本格式显示结果 ->每列中显示的最大字符数 
    调高它
      

  3.   

    我建立好一个表之后,将上面的语句写在 SQL 查询分析器 里面执行的啊  
      

  4.   

    没有用索引 ,而且text是不支持索引的。。
    我知道索引是有个900的限制,到底什么原因呢?
      

  5.   

    printer?什么意思?
    我建立好一个表之后,将上面的语句写在 SQL 查询分析器 里面执行的啊 
      

  6.   

    我执行上面语句后,在数据库的这个表上右键->打开表->返回所有行
    这么确认的。
    当text对应的那列如果存900以上个字符时,那里就显示空白,但是其他的列(时间和类型)可以看到
    当小于900时可以看到数据存到那里了。
      

  7.   

    有人用SQL2000试验下我的这个SQL语句吗?