博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
char、varchar、nvarchar的区别
阅读量:6257 次
发布时间:2019-06-22

本文共 1365 字,大约阅读时间需要 4 分钟。

一般如果用到中文或者其它特殊字符,我就会使用n开头的类型,否则的话直接使用var开头的。 

 

sql server中的varchar和Nvarchar有什么区别?

varchar(n)
长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节。
nvarchar(n)
包含 n 个字符的可变长度 Unicode 字符数据。n 的值必须介于 1 与 4,000 之间。字节的存储大小是所输入字符个数的两倍。

 

char        100    8个字节,92个空格

varchar     100    8个字节,无空格,最长为1-8000
nvarchar    100    10个字节,无空格,每个汉字为一个字符(适合中文,韩文),但如果是英文的话也是占两个位置,双字节来存储数,最长1-4000,可变长度 Unicode 数据,如果存储数据如果存在单字节时,它也是以双字节来占用存储空间的。

varchar 对每个英文(ASCII)字符都占用2个字节,对一个汉字也只占用两个字节

char 对英文(ASCII)字符占用1个字节,对一个汉字占用2个字节

Varchar 的类型不以空格填满,比如varchar(100),但它的值只是"qian",则它的值就是"qian"

char 不一样,比如char(100),它的值是"qian",而实际上它在数据库中是"qian "(qian后共有96个空格,就是把它填满为100个字节)
由于char是以固定长度的,所以它的速度会比varchar快得多!但程序处理起来要麻烦一点,要用trim之类的函数把两边的空格去掉

varchar(4) 可以输入4个字线,也可以输入两个汉字nvarchar(4) 可以输四个汉字,也可以输4个字母,但最多四个

数据库定义到char类型的字段时 charncharvarcharnvarchartextntext中哪一种呢。 

数据库定义到char类型的字段时,不知道大家是否会犹豫一下,到底选charncharvarcharnvarchartextntext中哪一种呢?结果很可能是两种,一种是节俭人士的选择:最好是用定长的,感觉比变长能省些空间,而且处理起来会快些,无法定长只好选用定长,并且将长度设置尽可能地小;另一种是则是觉得无所谓,尽量用可变类型的,长度尽量放大些。

  鉴于现在硬件像萝卜一样便宜的大好形势,纠缠这样的小问题实在是没多大意义,不过如果不弄清它,总觉得对不起劳累过度的CPU和硬盘。

总结陈词:

1、如果数据量非常大,又能100%确定长度且保存只是ansi字符,那么char
2
、能确定长度又不一定是ansi字符或者,那么用nchar
3
、不确定长度,要查询且希望利用索引的话,用nvarchar类型吧,将它们设到400
4
、不查询的话没什么好说的,用nvarchar(4000)
5
、性格豪爽的可以只用34,偶尔用用1,毕竟这是一种额外说明,等于告诉别人说,我一定需要长度为X位的数据

 

转载于:https://www.cnblogs.com/Eleanore/archive/2012/05/25/2518182.html

你可能感兴趣的文章
暴风魔镜裁员了,但是VR的春天依然在路上
查看>>
Java并发编程笔记之CyclicBarrier源码分析
查看>>
Weex在苏宁移动办公开发中是如何实践的?
查看>>
阿里倡导成立“罗汉堂”, 6名诺贝尔奖得主加入
查看>>
WebLogic 12c控制台上传获取webshell
查看>>
web3j 的 Infura Http 客户端
查看>>
[spring]03_装配Bean
查看>>
第116天: Ajax运用artTemplate实现菜谱
查看>>
Func和Action委托简单用法
查看>>
[20180322]查看统计信息的保存历史.txt
查看>>
Hbase1.4.0安装教程
查看>>
Oracle死锁一例(ORA-00060),锁表导致的业务死锁问题
查看>>
Swift中的函数常见写法
查看>>
iOS开发实战 - 完美解决UIScrollView嵌套滑动手势冲突
查看>>
IO流学习总结(下)---序列化 反序列化
查看>>
万物互联 | 无感停车解决方案探析
查看>>
用VR学习灾难逃生技巧,地震来了不再慌
查看>>
朱啸虎:区块链是伪风口的可能性大,任何创新都要经历死亡谷
查看>>
SQLAlchemy 1.3.1 发布,Python ORM 框架
查看>>
美国科学家训练AI,用路上车辆判断人们的政治立场
查看>>