char varchar nvarchar 的区别

本文详细解释了数据库中char、varchar及nvarchar等字符类型的区别,包括它们的存储方式、效率对比及适用场景,帮助读者理解如何根据实际需求选择合适的字符类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        学习就是不断总结的过程,还记得总结char,varchar和nachar区别是看耿建玲视频的时候,但是,敲完机房的时候就忘记的差不多了,这次在来一次总结。

      一、首先让我们看看char和varchar的区别:

       1.char的长度是固 定的,而varchar的长度是可以变化的, 比如,存储字符串“abc",对于char (20),表示你存储的字符将占20个字节(包括17个空字符),而同样的varchar (20)则只占用3个字节的长度,20只是最大值,当你存储的字符小于20时,按实际长度存储。由于char是以固定长度的,所以它的速度会比 varchar快得多!但程序处理起来要麻烦一点,要用trim之类的函数把两边的空格去掉!

  2.char的效率比varchar2的效率稍高。

     让我们能看看在数据库中的区别吧

      (1)、首先创建了一个具有一个Char字段和一个VarChar字段的表。它们都设置为大小最大为50.

          

        (2)、给每一个输入相同的测试数据。

       

       (3)、用T-SQL语句找到两个字段的长度

       

       ( 4)、查看两种数据类型的区别

            

         这样一看两者的区别就显而易见了。

    二、vachar和nvarchar 

    nvarchar(n)
    包含 n 个字符的可变长度 Unicode 字符数据。n 的值必须介于 1 与 4,000 之间。字节的存储大小是所输入字符个数的两倍。所输入的数据字符长度可以为零。

    它表示存储的是Unicode数据类型的字符。我们知道字符中,英文字符只需要一个字节存储就足够了,但汉字众多,需要两个字节存储,英文与汉字同时存在时容易造成混乱,Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示。nchar、nvarchar的长度是在1到4000之间。和char、varchar比较起来,nchar、nvarchar则最多存储4000个字符,不论是英文还是汉字;而char、varchar最多能存储8000个英文,4000个汉字。可以看出使用nchar、nvarchar数据类型时不用担心输入的字符是英文还是汉字,较为方便,但在存储英文时数量上有些损失。  
所以一般来说,如果含有中文字符,用nchar/nvarchar,如果纯英文和数字,用char/varchar        
     varchar[(n)]  
    长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节。所输入的数据字符长度可以为零。

        这次的总结到这里吧。。

     

       

评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值