它们都有什么区别啊??还有 varchar?nvarchar
?

解决方案 »

  1.   

    不带var的是定长字段,不够指定长度会补空格
    带var的是可变长度的字段,不补空格,但也不能超过制定的字段长度
    带n的是用Unicode字符存储,每个字符占两个字节
    不带n的是用ANSI字符集存储,英文字母和数字、半角符号占1个字节,汉字、全角符号等占两个字节
      

  2.   

    日期用datetime
    整数用int
    带小数用float
      

  3.   

    日期
    datetime
    从 1753 年 1 月 1 日到 9999 年 12 月 31 日的日期和时间数据,精确到百分之三秒(或 3.33 毫秒)。
    smalldatetime
    从 1900 年 1 月 1 日到 2079 年 6 月 6 日的日期和时间数据,精确到分钟。整数
    bigint从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。int从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字)。smallint从 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整数数据。tinyint从 0 到 255 的整数数据。bit
    bit1 或 0 的整数数据。decimal 和 numeric
    decimal从 -10^38 +1 到 10^38 –1 的固定精度和小数位的数字数据。numeric功能上等同于 decimal。money 和 smallmoney
    money货币数据值介于 -2^63 (-922,337,203,685,477.5808) 与 2^63 - 1 (+922,337,203,685,477.5807) 之间,精确到货币单位的千分之十。smallmoney货币数据值介于 -214,748.3648 与 +214,748.3647 之间,精确到货币单位的千分之十。近似数字
    float从 -1.79E + 308 到 1.79E + 308 的浮点精度数字。real从 -3.40E + 38 到 3.40E + 38 的浮点精度数字。
      

  4.   

    请问char 和nchar 有什么区别?--如果考虑要在不同的语言的操作平台下用:用Nchar
    否则直接用char,省点空间
      

  5.   

    char 是不可變是固定的大小
    char(10)長度就是10個無論有無這麼長的字符串。
    nchar是可變的
    nchar(10)長度隨字符串的大小而變
      

  6.   

    Hopewell_Go说的nchar(10)長度隨字符串的大小而變--不是这样子的哦,nchar(10),每个字符都用2个byte,如果只是存储5个字符,那么后面补上5个空白byte,是定长的,和char相同!只不过char不是unicode编码,英文字母和数字、半角符号占1个字节,汉字、全角符号等占两个字节,而带上N的,不管什么字符,都用2个字节存储