char类型: 对英文(ASCII)字符占用1个字节,对一个汉字占用2个字节,CHAR存储定长数据很方便,CHAR字段上的索引效率级高,比如定义char(10),那么不

论你存储的数据是否达到了10个字节,都要占去10个字节的空间。因为是固定长度,所以速度效率高。

  vrchar类型:varchar 的类型不以空格填满,比如varchar(100),但它的值只是"qiang",则它的值就是"qiang"。而char 不一样,比如char(100),它的值

是"qiang",而实际上它在数据库中是"qiang "(qiang后共有95个空格,就是把它填满为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/Cqiang/archive/2012/10/31/2748451.html

[转]nchar,char,varchar与nvarchar区别相关推荐

  1. char,nchar,varchar与nvarchar区别

    char类型: 对英文(ASCII)字符占用1个字节,对一个汉字占用2个字节,char存储定长数据很方便,char字段上的索引效率级高,比如定义char(10),那么不论你存储的数据是否达到了10个字 ...

  2. SQL Server中的char,nchar,varchar和nvarchar有什么区别?

    nvarchar是什么意思? SQL Server中的char , nchar , varchar和nvarchar什么区别? #1楼 char :固定长度的字符数据,最大长度为8000个字符. nc ...

  3. char、nchar、varchar、nvarchar的区别和特点

    char.nchar.varchar.nvarchar的区别 对于程序中的string型字段,SQLServer中有char.varchar.nchar.nvarchar四种类型来对应(暂时不考虑te ...

  4. char和nchar,varchar和nvarchar 之间的区别

    char和nchar,varchar和nvarchar的区别 一.定义: char:固定长度,存储ANSI字符,不足的补英文半角空格.//长度固定的英文 nchar:固定长度,存储Unicode字符, ...

  5. Sql Server 中char、nchar、varchar、nvarchar这几种数据类型的区别

    一.从外形上看区别 char.nchar.varchar.nvarchar这四种数据类型都是用来存储字符串数据的,从外形上来看,我们能够发现他们四个之间是有所联系的. "char" ...

  6. varchar和Nvarchar区别 ----转载

    varchar和Nvarchar区别 Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示 如果还为了这个纠结,就直接看看后面的解 ...

  7. varchar和Nvarchar区别

    Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示 如果还为了这个纠结,就直接看看后面的解说,做决定吧. 一般如果用到中文或者其 ...

  8. sqlserver varchar和Nvarchar区别

    sqlserver varchar和Nvarchar区别 原文:https://www.cnblogs.com/qanholas/p/3298882.html varchar和Nvarchar区别 U ...

  9. TEXT、TINYTEXT、MEDIUMTEXT、LONGTEXT选择 和 char varchar varchar2 的区别

    TEXT.TINYTEXT.MEDIUMTEXT.LONGTEXT的区别: 储存不区分大小写的字符数据 TINYTEXT 最大长度是 255 (2^8 - 1) 个字符. TEXT 最大长度是 655 ...

  10. oracle中varchar 和 nvarchar2的区别,Oracle中char,varchar,varchar2,nvarchar,nvarchar2的区别

    一.概述 1.char char的长度是固定的,比如说,你定义了char(20),即使你你插入abc,不足二十个字节,数据库也会在abc后面自动加上17个空格,以补足二十个字节: char是区分中英文 ...

最新文章

  1. NR 5G 网络切片
  2. python圆的周长和面积返回2个值的元组_初见Python2:列表和元组
  3. python查找字符串关键词_Python字符串查找基本操作案例解析
  4. springboot启动没反应_新特性:Tomcat和Jetty如何处理Spring Boot应用?
  5. [实践系列]Promises/A+规范
  6. tensorflow 指定cpu 但是还会运行 gpu_PyTorch VS TensorFlow 谁最强?这是标星 15000+ Transformers 库的运行结果...
  7. python中的event_Python event
  8. mysql获取时间戳_服了!阿里Mysql三位封神专家总结1200多页性能优化的千金良方...
  9. 2008秋-计算机软件基础-第三章- 二叉排序树
  10. 【优化算法】Iterative映射和单纯形法的改进灰狼优化算法(SMIGWO)【含Matlab源码 1746期】
  11. 在线支付接口详解、支付接口对接
  12. win11假死没反应怎么办 windows11假死没反应的解决方法
  13. Oracle Audit
  14. Evision显示器无法设置1440*900分辨率的问题解决
  15. 在Linux中运行Android软件
  16. 隐式图的搜索问题(九宫重排)——实验准备
  17. pandas生成excel多级表头
  18. android 拍照 比例,Everest
  19. Pytorch中使用torchvision实现deform_conv2d
  20. 雨听 | 解决360浏览器总是自动成为默认浏览器问题

热门文章

  1. DoTween(HOTween V2) 教程
  2. 2014年9月28日 18:35:01
  3. mybatis配置文件解析错误解决方法
  4. 漫谈数据库索引 | 脚印 footprint(转载)
  5. 几款***常用小工具的使用说明
  6. 一步一步学习OC2007(三)--定制菜单命令
  7. Oracel中连接的总结(一)
  8. 【配置DATAGUARD 时的监听静态注册不成功】 问题解决
  9. ORACLE性能优化救生指南_21章 重做和归档的优化
  10. 15-垃圾回收相关算法