zoukankan      html  css  js  c++  java
  • char,varchar,nchar,nvarchar

    学习于网络:

    1. char 和 varchar

       相同点:1位就是1个字节,每个英文字符和数字都占一个字节,而一个中文的字符会占两个字节。

       不同点:

                a. char是定长存储,如定义char(10),实际存储的值为'hello', Sql Server会自动补充空格,填满10位。[即没有达到10个字节,都要占去10个字节]

                b.varchar是可变长存储,实际存储值占了多少个字节就是多少个字节,不会以空格来填满。

    2. nchar 和 nvarchar

        相同点:1位就是2个字节,储数据时采用的是 Unicode元码,为了与其他多种字符的转换,如中文,音标等, 一个英文字符和一个中文字符所占的空间是相同的,都是两个字节。[即所有字符都占用两个字节]

        不同点:nchar是定长存储,nvarchar是可变长存储

    3.

    char,varchar    -- 最多8000个英文,4000个汉字[1位就是1个字节,定义varchar(100),即100位,100个字节,因1个汉字需要2个字节,故可以存储50个汉字]
    nchar,nvarchar --可存储4000个字符,无论英文还是汉字[1位就是2个字节,如定义nvarchar(4000),即有4000位,8000个字节,则可以存储4000个字符,无论英文还是汉字]

    4.

    支持多语言的站点应考虑使用 Unicode nchar 或 nvarchar 数据类型以尽量减少字符转换问题。

    如果使用 char 或 varchar:

    如果希望列中的数据值大小接近一致,请使用 char。

    如果希望列中的数据值大小显著不同,请使用 varchar。

  • 相关阅读:
    10.28
    10.25
    10.21
    移动第七次作业
    移动第六次作业
    移动第五次作业
    移动第四次作业
    移动第3次作业
    移动第二次作业
    移动第一次作业
  • 原文地址:https://www.cnblogs.com/notebook2011/p/3017816.html
Copyright © 2011-2022 走看看