charvarchar和nvarchar的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了charvarchar和nvarchar的区别相关的知识,希望对你有一定的参考价值。

  首先char、varchar和nvarchar、text、ntext都是数据库中的文本数据类型,再区分区分var前缀、n前缀的区别。而text、ntext已经普遍被varchar(MAX)和nvarchar(MAX)所替代,所以一般不使用。

char

  表示不可变长度,如果赋的值不够指定位数,则末尾使用空格补齐。

varchar
  表示可变长度,如果赋的值不够指定位数,以实际赋的值为准。

nvarchar
  n前缀表示的是unicode编码标准。如果是带n的,则每个字符占2个字节。如果不带n的,则英文字符占1个字节,中文字节占两个字节(即unicode编码格式)。一般在开发过程中常用的是nvarchar而不用varchar,就是为了避免中文和英文的兼容性问题。

  在能准确控制文本字节长度的时候,使用char比使用nvarchar效率更高,减少了计算文本长度的时间成本,增加了存储成本(但在现在存储成本低廉的情况下,已不是很大的问题)。

以上是关于charvarchar和nvarchar的区别的主要内容,如果未能解决你的问题,请参考以下文章

刷题面筋-MySQL中charvarchar和text三者的区别

charvarchar和text设计

MySQL之charvarchar类型简析

charvarchar 哪种的搜索效率高

SQL中varchar和nvarchar有啥区别?

sqlserver中的nvarchar和varchar的区别