我有一个字段可能需要1200个字节,所有我就把它的长度设置为char(1500)
存进去之后,打开数据库,却无法显示这个字段的值,其他字段都正常显示
我改成500个字符,随便存一些数据进去,却可以显示出来不是说char可设最大长度是8000个字符吗?
这是怎么回事

解决方案 »

  1.   


    declare @ch char(1500)
    set @ch=replicate('A',1499)+'B'
    select @ch没有问题呀?
      

  2.   

    char的最大长度是8000个字符,我刚测试过,没有你说的问题,会不会是其他问题?declare @str char(1500)
    set @str=replicate('a',1200)
    select @str
      

  3.   

    char的最大长度是8000,不是你看不到,而是你看到的是后面填充的空格,你把它往前拉或填满长度就看到值了
      

  4.   


    我试过了,里面真的没内容,是空的算了还是用text类型吧
      

  5.   

    你说的看不到是在sql server management studio里看不到吗?把那一列往后拖就可以了。。在可视化界面他不会显示那么长的内容的。
      

  6.   

    SSMS里面有一个设置默认是只显示1024字节每列的.
    可以修改为每列显示8000字长.
      

  7.   

    把你创建表的脚本倒出来看看字段设置是多少? 这个问题不像字符串太长,否则的话会无法保存数据(truncate错误)
      

  8.   

    另外char(n)。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为 n 个字节。
      

  9.   

    select rtrim(fName) from TableName