SqlServer中char,varchar,nchar,nvarchar的区别
来源:互联网 发布:手机淘宝app改评价 编辑:程序博客网 时间:2024/05/17 07:43
在数据库中建表时,总是习惯的将一些字段定义为nvarchar,但关于它和nchar的区别,却没有细究过,今天上网仔细了解一下做个总结:
1.n代表的是Unicode字符,可以解决多语言字符集之间的转换问题。带上'n',表示你的字符串中汉字、英文字符、数字等等,存储时都是占用两个字节,这是为了防止出现乱码考虑的,而不带'n'的(char,varchar),存储时英文字符、数字占用一个字节,汉字占用两个字节。
2.‘var‘,显然是可变的意思,在sqlserver中就代表了可变存储,比如,定义了name字段:varchar(60),为其填充数据张三,则只占用6个字节,剩余54个字节未被占用(倒是节省了存储空间喔),对比而言,没有'var'的就是固定存储,上例如果定义name字段为char(60),同样填充数据张三的话,虽然也是占用6个字节,但剩余54个字节会用空格填充,也就是说,定义为固定存储的情况下,无论实际用了多少存储空间,所有空间都会被占用。
3.存储容量对比:char,varchar最多8000个英文,4000个汉字;nchar,nvarchar可存储4000个字符,无论英文还是汉字。
4.速度对比:固定存储比可变存储速度上快的多,但程序处理起来要麻烦一点,要用trim之类的函数把两边的空格去掉。
实际中使用的一般是varchar和nvarchar,二者再做个对比:
1.存储方式上,nvarchar是按字符存储的,varchar是按字节存储的。
2.存储量上,varchar节省空间,因为存储大小为字节实际长度,而nvarchar是双字节存储。
3.使用中,如果确定存储内容都是英文字符而没有汉字等语言符号,建议用varchar,含有汉字使用nvarchar(避免乱码)
- sqlserver char nchar varchar nvarchar 的区别
- SQLServer char、varchar、nchar、nvarchar的区别
- SQLServer中char/varchar/nchar/nvarchar的区别
- SQLServer中char、varchar、nchar、nvarchar的区别
- SQLServer中char、varchar、nchar、nvarchar的区别
- Sqlserver中char,nchar,varchar与Nvarchar的区别分析
- SQLServer中char、varchar、nchar、nvarchar的区别
- SqlServer中char,varchar,nchar,nvarchar的区别
- SQLServer中char、varchar、nchar、nvarchar的区别
- SQLServer中char、varchar、nchar、nvarchar的区别:
- Sqlserver中char,nchar,varchar与Nvarchar的区别分析
- SQLServer中char、varchar、nchar、nvarchar的区别
- SQLServer中char、varchar、nchar、nvarchar的区别:
- Sqlserver中char,nchar,varchar与Nvarchar的区别
- SQLServer中char、varchar、nchar、nvarchar的区别:
- SQLServer中char、varchar、nchar、nvarchar的区别:
- SQLServer中char、varchar、nchar、nvarchar的区别:
- SQLServer中char、varchar、nchar、nvarchar的区别:
- Struts2 addActionError
- SQLPlus启动数据库
- 渔王争霸他是如何通过QQ群获得公司投资的?
- 关于软件研发:一个愚蠢农夫和奶牛的故事
- 港媒:北京为防官员受敲诈求助专家鉴别PS照
- SqlServer中char,varchar,nchar,nvarchar的区别
- Linux 系统 history 命令详解
- ListView的一些常用设置
- MFC截图程序的实现(八)
- Go语言(golang)开源项目大全
- 面向切面编程(1):AOP介绍
- #define宏定义的用法遇到的问题
- Android framework add service
- POJ 1946 Cow Cycling