char,nchar,varchar与nvarchar区别
char类型: 对英文(ASCII)字符占用1个字节,对一个汉字占用2个字节,char存储定长数据很方便,char字段上的索引效率级高,比如定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间。因为是固定长度,所以速度效率高。
varchar类型:varchar 的类型不以空格填满,比如varchar(100),但它的值只是"qian",则它的值就是"qian",而char 不一样,比如char(100),它的值是"qian",而实际上它在数据库中是"qian "(qian后共有96个空格,就是把它填满为100个字节)。
由于char是存储定长数据,所以它的速度会比varchar快得多!但程序处理起来要麻烦一点,要用trim之类的函数把两边的空格去掉!
varchar存储变长数据,但存储效率没有char高。如果一个字段可能的值是不固定长度的,我们只知道它不可能超过10个字符,把它定义为 varchar(10)是最合算的。varchar类型的实际长度是它的值的实际长度+1。为什么“+1”呢?这一个字节用于保存实际使用了多大的长度。
nchar类型和nvarchar类型是怎么一回事呢?为了与其他多种字符的转换,如中文,音标等,对每个英文(ASCII)字符都占用2个字节,对一个汉字也占用两个字节,所有的字符都占用2个字节。
例如
varchar(n):变长型字符数据类型,存储最长长度为8,000 个字符。
举个例子:
insert a select '木子a'
--- 存储长度为5个字节,余下的3个字节全部释放
insert a select '木神易'
----存储长度为6个字节,余下的2个字节全部释放
---意思是varchar变长字符数据类型与存储数据的实际长度是一致的nvarchar(n):可变长度 Unicode 数据,其最大长度为 4,000 字符。
字节的存储大小是所输入字符个数的两倍,就是说它是双字节来存储数据的。
如果存储数据如果存在单字节时,它也是以双字节来占用存储的。varchar一般适用于英文和数字,nvarchar适用中文和其他字符,其中N表示Unicode常量,可以解决多语言字符集之间的转换问题
转载于:https://www.cnblogs.com/c-y-across-I/archive/2013/05/03/3056873.html
char,nchar,varchar与nvarchar区别相关推荐
- nchar,char,varchar与nvarchar区别(收藏)
最近在公司里做项目,遇到一个问题,建的数据库里的中文字符和音标显示为乱码,组里的人所有字符都用varchar表示,所以出现上诉问题,当改为Nvarchar后,问题得到解决.所以有必要把他们的区别再重新 ...
- nchar,char,varchar与nvarchar区别
最近在公司里做项目,遇到一个问题,建的数据库里的中文字符和音标显示为乱码,组里的人所有字符都用varchar表示,所以出现上诉问题,当改为Nvarchar后,问题得到解决.所以有必要把他们的区别再重新 ...
- Sqlserver中char,nchar,varchar与Nvarchar的区别
1. char类型: 对英文(ASCII)字符占用1个字节,对一个汉字占用2个字节,CHAR存 储定长数据很方便,CHAR字段上的索引效率极高,比如定义char(10),那么不论你存储的数据是否达到了 ...
- mysql server nchar_Sqlserver中char,nchar,varchar与Nvarchar的区别分析
1. char类型: 对英文(ASCII)字符占用1个字节,对一个汉字占用2个字节,CHAR存储定长数据很方便,CHAR字段上的索引效率极高,比如定义char(10),那么不论你存储的数据是否达 到了 ...
- [转]nchar,char,varchar与nvarchar区别
char类型: 对英文(ASCII)字符占用1个字节,对一个汉字占用2个字节,CHAR存储定长数据很方便,CHAR字段上的索引效率级高,比如定义char(10),那么不 论你存储的数据是否达到了10个 ...
- char* 大小_SQL Server中char, nchar, varchar和nvarchar数据类型有何区别
当问及CHAR,VARCHAR,NCHAR和NVARCHAR这些数据类型之间的差异时,这个看似很简单,但有时您也会感到困惑. 要在数据库存储字符.数值和特殊字符可以使用这4种数据类型,那么这4种数据类 ...
- 在Oracle中CHAR,NCHAR,VARCHAR,VARCHAR2,NVARCHAR2这五种类型的区别
[在Oracle中CHAR,NCHAR,VARCHAR,VARCHAR2,NVARCHAR2这五种类型的区别 ] 1.CHAR(size)和VARCHAR(size)的区别 CHAR为定长的字段,最 ...
- mysql nvarchar用什么代替_mysql中char、varchar、nvarchar数据类型的用法区别
mysql中char.varchar.nvarchar数据类型的用法区别 mysql中char.varchar.nvarchar数据类型的用法区别: 说明: 1.char: 固定长度的非 Unicod ...
- 谈谈char ,nchar,varchar,nvarchar 和Uniqueidentifier
在SQL server数据库中这几个类型应该是比较常用的,这篇文章主要也是和大家一起讨论下这几个类型. 先重点看前面4个:char ,nchar,varchar,nvarchar Msdn解释如下: ...
- varchar和Nvarchar区别 ----转载
varchar和Nvarchar区别 Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示 如果还为了这个纠结,就直接看看后面的解 ...
最新文章
- python做啥用-你都用 Python 来做什么?
- ionic overflow:auto失效
- 运行QQ出现initialization failure 0x0000000c错误和浏览器上不了网
- mysql 开发 生产_在没有表锁定的情况下在巨大的MySQL生产表...
- win7 找不到 计算机策略组,win7打开组策略报错:找不到资源string.Advanced_EnableSSL3Fallback...
- solr 3.5 配置及应用(二)
- 【USACO 1.3】Ski Course Design
- java.lang.IllegalStateException: No modifications are allowed to a locked ParameterMap问题的解决
- jQuery效果-----fadeIn()、fadeOut()、fadeToggle()、fadeTo()
- error C2668: “pow”: 对重载函数的调用不明确
- Julia :复合类型struct当索引时
- matlab做均值和方差,matlab求均值,方差
- Matlab学习笔记之Matlab中括号用法
- 如何看误差累积分布图
- 这届年轻人越来越爱养宠物了
- 番茄花园 产业链 洪磊 中国
- 拍摄制作360度全景图有哪些技巧?
- 计算机网络中man是,计算机网络分类为LAN、MAN和()。
- OpenCV 表盘指针自动读数
- element-ui table的选中行高亮和取消高亮