SQL Server 2008中的数据类型 总结
SQL Server 表中的每一个字段都只能包含一个预先指定的特定数据
类型,例如字符或数字。这个声明叫做数据类型。在这篇文章里,
我们将比较和对照SQL Server 2008的各种数据类型。此外,我们还
将展示各种特定环境下哪种数据类型是最好的解决方法。在SQL
Server 2008中有超过35种的不同数据类型。
分类
Microsoft 将各种数据类型分为以下7种大的分类:精确数字、
大约数字、日期和时间、字符串、Unicode 字符串、二进制字符串和
其它数据类型。
unicode文件格式 数字
有两种数字分类:精确数字和大约数字。
精确数字包括Real 和Float 类型。在一般情况下,当需要科学
符号时使用精确数字。科学符号是一种使用10的幂数来描述非常大或非常小的数字的方法(也称作指数符号)。
精确数字包括Decimals(小数)、Integers(整数)和Money
amounts(货币值)。
一个Integer 是一个没有小数或分数的计算数值。所有的负数、
正数和零都是整数。SQL Server 将整数分为四个部分:
11 1628
BigInt :从-9,223,372,036,854,775,808到9,223,372,036,854,775,807
Int :从-2,147,483,648到2,147,483,648
SmallInt :从-32,768到32,767
TinyInt : 从0到255
正确地设置大小为Int 类型而不是将所有都设置为BigInt 是有两
个主要的原因的。首先是物理磁盘空间。对于BigInt 来说每条记录
占据8个字节,而Int 只使用两个字节。另一个原因是确保你的应用
程序只接收到它所预期的数据大小,从而避免了出现缓冲溢出的现
象。
具有小数的精确数字包括Decimal 、Numeric 、Money 和
SmallMoney 数据类型。Decimal 和Numeric 类型功能上是一样的。就
是说,它们的使用、计算和行为都是一样的,唯一的不同就是在数
学定义上而不是SQL Server 使用它们的方法上。大多数SQL Server
应用程序使用Decimal 。一个Decimal 的长度最多可以达到38位。
当定义了Decimal ,它的总长度和右侧的小数点部分的最大长度也就
被配置了。定义的位数越多,每条记录上使用的物理磁盘空间就越
多。
Money 和SmallMoney 是小数点后固定的有四位的小数。
SmallMoney 的值可以从- 214,748.3648到214,748.3647,而Money 值的
范围是从-922,337,203,685,477.5808到922,337,203,685,477.5807。使用
11 01628
Money 而不是一个Decimal 的一个原因是可以选择在三位数后显示美元符号和逗号。
字符串
这一节将开始讨论字符串:Char 、VarChar 和Text 。一个Char(字符)数据类型可以保存字母、数字和键盘字符。当定义了一个Char 时,它的最大长度(可以达到8,000)就也固定了。想想一个Char 可以将你能输入到记事本中的所有东西保存住——而且就像记事本,如果你输入数字到一个Char 字段,那
么不能对它们执行数学操作。它们会被看做是文本字符,而不是数字。一般情况下,当输入每一条记录的字符数目都大致相同时,例如一个邮编货电话号码,这时就使用Char 字段。如果数据的长度是每条记录都很不一样时,例如一个邮件地址,那么使用VarChar 。一个VarChar 是一个长度可变的Char(Var)。当创建了一个VarChar 时,它的最大长度就也被定义了。使用VarChar 而不是Char 的一个主要原因是各自使用的物理磁盘空间的数量。在下面的例子里,创建了一个具有一个Char 字段和一个VarChar 字段的表。它们都设置为大小最大为50.
图1
给每一个输入相同的测试数据。
念,党志愿 形式,定1底组织一次党员”、“坚持根本宗题集中学习讨论不得少1 课”要求,开展党组班员讲党课,邀请党校教师学系列 讲话,做合格党 话,做合格党员”学习“学党章党规、学系列印发〈关于在全市党员016〕28号),结合我”学习教育,基础全面贯彻落实党的十八三严三实”专题教育成、创先争优,进一进一步坚持问以上率下,“决胜
图2
下面的TSQL 返回物理磁盘上的字节空间数目,按行和列的形
式。
SELECT DATALENGTH(ColChar) AS CharSize,
DATALENGTH(ColVarChar) AS VarSize
FROM table1
图3
所以无论输入的数据是大是小,对于每一条记录Char 字段都使
用50个字节。
VarChar 的另一个好处是可以指定不限制大小的能力。这是通过
使用“Max”关键字来完成的,如同在VarChar(Max)中一样。Max 意
味着大小可以超过8,000字节。此外,这个大小是不限制的。
学习主义立场怀、务实思想位一体”总体布内涵和要求。要着重学发展、和谐发展。 (三要求,坚持以
知促行、知行合有品行,讲奉献、有作为的合格念时时处处体现为行动的力量;坚定策看齐,认真贯彻省委、市委决策部署,员永远是劳动人民的普通一员,密切联系敬畏、手握戒尺,廉洁从政、从严治家,带头弘扬拒腐防变的防线;始终保持干事创业、开拓进取的精豁得出,在X X 事业“十三五”规划开局起步、“决胜全面奋发有为、建功立业。 全体党员要坚持学做结合,坚固树立党的意识、党员意识,强化党的宗旨意识,积极践行社会践中建功立业。 县处级以上党员领导干部要学做结合,对照习”等重要论述,认真践行“三严三实”要求和好干部标准,带规矩,带头牢固树立和贯彻落实五大发展理念,带头攻坚克难。 三、主要措施 (一)开展“两重温两对照”主题党日活动。部为单位开展一次主题党日活动,组织党员重温入党志愿、重念,对照入党誓词标准、差距。党支部书记作学习动员,领党志愿和入党誓词,交流思想体会。 (二)开展“三个形式,定期组织集中学习,每次确定1个专题开展交流研讨。按组织一次党员集中学习。支部每季度召开一次全体党员会议,“坚持根本宗旨,敢于担当作为”、“坚守纪律底线,树习讨论不得少于1天。 (三)开展“四个讲党课”。党,开展党组班子成员到联系区县X X 局带头讲党课,邀请党校教师、专家学者给党员干部讲党课话,做合格党员”学习教育实施方案 党中格党员”学习教育(以下简称“两学党规、学系列讲话,做合格党员于在全市党员中开展“学党章号),结合我局实际,现育,基础落实党的十八大和”专题教育成优,进一持问,
最后一个字符串类型的是Text 数据类型。Text 和VarChar(Max)字段类似。它目前包括在SQL Server 2008之中只用于向后兼容,在未来某个时候它将被废弃。
Unicode
Unicode 是一个标准的方法,它允许应用程序记录其它语言的字符而不仅仅是我们自己的。当你建立多语言应用程序或全球web 网站时,Unicode 就很方便了。Char 和VarChar 数据类型都可以配置为允许Unicode ,只要在它们之前加个字母“n”,如同nChar 和
nVarChar 。这个灵活性的代价在于增大了磁盘空间的使用。大略估
计,Unicode 所需的磁盘空间大概是两倍。
二进制字符串
二进制字符串是用于保存非字符的数据,例如图片或媒体文件。
有两种数据类型用于此:Binary 和VarBinary 。它们的配置就像Char 和VarChar 。VarBinary(Max)可以用来存储不限制大小的文件。还有一个遗留数据类型叫做Image ,但是它在SQL Server 的未来版本中将不再出现。
其它数据类型
有7个其它的数据类型,包括Cursor 、HierachyID 、SQL
Variant 、Table 、TimeStamp 、UniqueIdentifier 和XML 。数据类型
TimeStamp 被RowVersion 取代了。UniqueIdentifier 是一个独特的
11 01628
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论