本文主要是介绍数据库基本变量char-varchar-nchar-nvarchar对比理解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
关于数据库常用char,varchar,nchar,nvarchar的区别的一些记录
首先,理解unicode编码和非Unicode编码
1.unicode为统一编码,就是英文和汉字全部采用两个字节(更好的支持汉字)
2.非unicode为非统一编码,就是英文采用单字节,而汉字仍是双字节
进而,开始区分上述基本变量:
1.char,varchar为非unicode编码
2.nchar,nvarchar为unicode编码
3.char(nchar)为定长字符串,即指定长度就固定了其长度,而固定长度后,即使实际内容很少,没有满足长度,则字符串会自动在其后加上空格,从而补满长度。例如:申请 userName char(20) 而实际赋值就是“小明”,只有四个字节,故会补满16个字节空格,从而满足固定长度
4.varchar(ncarchar)是可变长度字符串,指定的长度仅仅为指定其所能支持的最大长度,在实际内容不满的时候,不会补空格
5.那为什么还会有char,nchar的存在?
存在即自然!是因为在固定长度下,数据库比较char时,会整体比较(因为长度确定),从而速度会相对较快。而由于varchar是长度可变的,所以比较的时候会逐个匹配,从而导致速度较慢,所以,若能确定所用变量的长度,还是用char。例如:性别
6.以上所比较的四种类型所支持的最大长度字符串都是 8000字节
这篇关于数据库基本变量char-varchar-nchar-nvarchar对比理解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!