SQL 2005中char、nchar、varchar、ntext and nvarchar(max)的区别
原文地址
MS SQL大值数据类型varchar(max)、nvarchar(max)、varbinary(max)
在MS SQL2005及以上的版本中,加入大值数据类型(varchar(max)、nvarchar(max)、varbinary(max) )。大值数据类型最多可以存储2^30-1个字节的数据。
这几个数据类型在行为上和较小的数据类型 varchar、nvarchar 和 varbinary 相同。
微软的说法是用这个数据类型来代替之前的text、ntext 和 image 数据类型,它们之间的对应关系为:
varchar(max)-------text;
nvarchar(max)-----ntext;
varbinary(max)----image.
有了大值数据类型之后,在对大值数据操作的时候要比以前灵活的多了。比如:之前
text是不能用‘like’的,有了varchar(max)之后就没有这些问题了,因为varchar(max)在行为上和varchar(n)上相
同,所以,可以用在varcahr的都可以用在varchar(max)上。
另外,这个还支持对插入的和删除的表中的大值数据类型列引用上使用 AFTER 触发器。text就不行,总之,用了大值数据类型之后,我是“腰也不疼了,腿也不酸了,一口气也能上六楼了”。还等什么呢,快用大值类型吧。
SQL 2005中char、nchar、varchar、ntext and nvarchar(max)的区别
对SQL 2005中char、nchar、varchar、ntext and nvarchar(max)的一些概念一直很模糊,最近搜集一些资料,汇总如下,以便以后复习:
一、char 和varchar的区别和应用:
1.char和varchar的区别:
varchar 有指定的最大长度,这种类型的数据长度可变,但在最大长度之内,如果一个string 比最大长度小,那么它将逐字存储而不多占额外的空间。
char 是一个指定长度的类型的string,如果一个string 比设定的长度短,那么它将按照最长的长度来储存,超出string部分,填补空格。
2.char和varchar的应用:
当你的string没有固定长度的时候使用varchar(例如,姓名,城市,等等)。
当你的string有固定长度的时候使用char(例如,电话号码,区号,等等)。
二、前面带一个“n”的类型
varchar/char前面带一个“n”的类型,意味着既可以存放unicode 编码的字符也可以存放非unicode编码的字符。没有“n”,则意味着只能存放unicode编码的字符。
如果你的数据库里只有英文字符的话,那么使用nvarchar/nchar 或 varchar/char差别很小,如果处理不同国家的字符最好用nchar/nvarchar.
什么是unicode编码?
简单的说就是用两个字节表示一个字符,这是针对各国文字、符号进行统一性编码,unicode的主要用途是当你处理不同国家字符,比如日语或汉语。
SQL 2005中char、nchar、varchar、ntext and nvarchar(max)的区别的更多相关文章
- SQL Server中char、varchar、text和nchar、nvarchar、ntext的区别 (转)
转:http://blog.csdn.net/jackychu/article/details/4183118 http://www.cnblogs.com/jhxk/articles/1633578 ...
- Sqlserver中char,nchar,varchar与Nvarchar的区别分析
1. char类型: 对英文(ASCII)字符占用1个字节,对一个汉字占用2个字节,CHAR存储定长数据很方便,CHAR字段上的索引效率极高,比如定义char(10),那么不论你存储的数据是否达 到了 ...
- SQL Server中char与varchar数据类型区别
在SQL Server中char类型的长度是不可变的,而varchar的长度是可变的 . 存入数据时: 如果数据类型为char时,当定义一个字段固定长度时,如果存进去数据长度小于char的长度,那么存 ...
- Oracle CHAR,VARCHAR,VARCHAR2,nvarchar类型的区别与使用(转载)
一 varchar,varchar2,nvarchar,nvarchar2 四个类型都属于变长字符类型, varchar和varchar2的区别在与后者把所有字符都占两字节,前者只对汉字和全角等字符占 ...
- 浅谈SQL Server、MySQL中char,varchar,nchar,nvarchar区别
最近一次的面试中,被面试官问到varchar和nvarchar的区别,脑海里记得是定长和可变长度的区别,但却没能说出来.后来,在网上找了下网友总结的区别.在这里做个备忘录: 一,SQL Server中 ...
- SQL中char、varchar、nvarchar、ntext的区别(转载)
char char是定长的,也就是当你输入的字符小于你指定的数目时,char(8),你输入的字符小于8时,它会再后面补空值.当你输入的字符大于指定的数时,它会截取超出的字符.nvarchar(n ...
- SQLServer中char、varchar、nchar、nvarchar的区别
http://www.cnblogs.com/14lcj/archive/2012/07/08/2581234.html SQLServer中char.varchar.nchar.nvarchar的区 ...
- char nchar varchar nvarchar的区别(转)
char nchar varchar nvarchar的区别 今天在论坛里看到有人激烈讨论这几个数据类型的区别跟实际使用情况,很多人都搞不清楚究竟哪个场景使用哪个数据类型 现在就摘录一下sql2 ...
- SQL Server中Text和varchar(max) 区别
SQL Server 2005之后版本:请使用 varchar(max).nvarchar(max) 和 varbinary(max) 数据类型,而不要使用 text.ntext 和 image 数据 ...
随机推荐
- 节点插入--对比jQuery和JavaScript方法(一)
二.插入元素: 1 <div> 2 <p>面朝大海,春暖花开</p> 3 </div> (一).jQuery方法 1.在节点内部插入: 方法 说明 ap ...
- 16_AOP入门准备_动态代理模式
[工程截图] [PersonDao.java] package com.HigginCui.daoProxy; //目标类接口 public interface PersonDao { public ...
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
http://quote.eastmoney.com/center/list.html#28003501_0_2 http://bbs.tianya.cn/post-53726-21098-1.sht ...
- 再看JavaScript线程
继上篇讨论了一些关于JavaScript线程的知识,我们不妨回过头再看看,是不是JavaScript就不能多线程呢?看下面一段很简单的代码(演示用,没考虑兼容问题): 代码判断一: <div i ...
- 『奇葩问题集锦』npm install 报错 node-pre-gyp ERR! node-pre-gyp -v v0.6.25
gyp ERR! configure error gyp ERR! stack Error: Can't find Python executable "python", you ...
- AS3.0的动态类和密封类
动态类:生成的实例可以在运行时动态添加属性和方法.类名前有dynamic就是动态类 密封类:生成的实例不可以在运行时动态添加属性和方法
- PHP程序实现利用rand(1,100)函数产生10个1~100之间的随机数
//echo rand(1,100);$max=0;$min=100;for($i=0;$i<=9;$i++){ $rand[$i]=rand(1,100); if($rand[$i]>$ ...
- (转载)EhLib 在 Delphi 7 下的安装方法
EhLib 在 Delphi 7 下的安装方法 1.将 EhLib 解压到一个目录,如:E:\VCL\EhLib: 2.将 EhLib 安装目录下 Common 目录.DataService 目录下的 ...
- Flink 另外一个分布式流式和批量数据处理的开源平台
Apache Flink是一个分布式流式和批量数据处理的开源平台. Flink的核心是一个流式数据流动引擎,它为数据流上面的分布式计算提供数据分发.通讯.容错.Flink包括几个使用 Flink引擎创 ...
- 炼狱—Bug集中营
关联性 Bug1:在web.config配置了一个配置项,但是却没有在app.config(测试工程)中进行配置: CresteOrder的加密参数为了符合QQ要求增加了一个sessionKey,但是 ...