既然varchar数据存储大小以输入数据的字节的实际长度为准,区别于char,那么n有什么实际意义,在磁盘上存储具体跟char有什么区别呢?不明白,请高手指教。

解决方案 »

  1.   

    Msg 8152, Level 16, State 14, Line 1
    String or binary data would be truncated.
    The statement has been terminated.
      

  2.   

    既然varchar数据存储大小以输入数据的字节的实际长度为准,区别于char,那么n有什么实际意义CHAR是会自动填空的
    CHAR(5)
    'A    '
      

  3.   

    char(n)
    与varchar(n)
    都可保存<n的字符串,char字符<n时,后面用空格填满,varchar(n)后面不用空格填满.
      

  4.   

    n--该varchar字段的最大长度.varchar(10),char(10)的区别.
    如果只输入不到十个字符,
    那么char型字段将补空格以填满这十个字符,varchar则不填.如果是十个字符,则一样.
      

  5.   

    char数据类型中多余的空间用空格代替
    而varchar数据类型中的多余空间会自动释放
    (好像记得是这样的)
      

  6.   

    n表示所能存储的最大字符数.varchar类型与char类型都有存储长度限制,不同的是,如果实际字符长度没有超过指定最大长度,varchar存储实际长度,而char在实际字符串后面加上空格补足.
      

  7.   

    VARCHAR为变长字段,N为该字段最大长度,无论你怎么加怎么UPDATE都不准大于这个值,就是这样了
      

  8.   

    不同DB,含义有差,比如:
    oracle/sqlserver/mysql等数据库的varchar(n),n表示字节数(一个汉字占两个字节)
    postgres的varchar(n),n表示字符数(一个汉字就是一个字符)