其余一种Computer语言都定义了团结的数据类型

主导提醒:多少类弄是数量的一种个性,表示数据所代表新闻的连串

数量类弄是数码的一种性情,表示数据所代表音讯的花色。任何一种Computer语言都定义了谐和的数据类型。当然,不一样的程序语言都统筹不相同的性状,所定义的数据类型的各个和名称都或多或少有些不相同。SQLServer
提供了 25 种数据类型: ・Binary [(n)] ・Varbinary [(n)] ・Char
[(n)] ・Varchar[(n)] ・Nchar[(n)] ・Nvarchar[(n)] ・Datetime
・Smalldatetime ・Decimal[(p[,s])] ・Numeric[(p[,s])]
・Float[(n)] ・Real ・Int ・Smallint ・Tinyint ・Money ・Smallmoney
・Bit ・Cursor ・Sysname ・Timestamp ・Uniqueidentifier ・Text ・Image
・Ntext 1.二进制数据类型

二进制数据包罗 Binary、Varbinary 和 Image Binary
数据类型不仅能是一直长度的(Binary卡塔尔国,也得以是变长度的。 Binary[(n)] 是 n
位固定的二进制数据。此中,n 的取值范围是从 1 到 8000。其存款和储蓄窨的深浅是 n

  • 4 个字节。 Varbinary[(n)] 是 n 位变长度的二进制数据。个中,n
    的取值范围是从 1 到 8000。其存款和储蓄窨的尺寸是 n + 4个字节,不是n 个字节。
    在 Image 数据类型中蕴藏的数码是以位字符串存款和储蓄的,不是由 SQL Server
    解释的,必得由应用程序来分解。举例,应用程序可以行使BMP、TIEF、GIF 和
    JPEG 格式把数量存款和储蓄在 Image 数据类型中。 (2卡塔尔(قطر‎字符数据类型

字符数据的花色包蕴 Char,Varchar 和 Text
字符数量是由其余字母、符号和数字大肆组合而成的数目。 Varchar
是变长字符数据,其尺寸不超越 8KB。Char 是定长字符数据,其尺寸最多为
8KB。抢先 8KB 的ASCII 数据能够运用Text数据类型存款和储蓄。譬如,因为 Html
文书档案全部是 ASCII 字符,并且在肖似情况下长度当先 8KB,所以那些文书档案能够Text 数据类型存款和储蓄在SQL Server 中。 (3卡塔尔国Unicode 数据类型

Unicode 数据类型包涵 Nchar,Nvarchar 和Ntext 在 Microsoft SQL Server
中,传统的非 Unicode 数据类型允许接纳由特定字符集定义的字符。在 SQL
Server安装进度中,允许选用一种字符集。使用 Unicode
数据类型,列中得以积存任何由Unicode 标准定义的字符。在 Unicode
规范中,满含了以种种字符集定义的方方面面字符。使用Unicode数据类型,所克服的窨是运用非
Unicode 数据类型所占用的窨大小的两倍。 在 SQL Server 中,Unicode 数据以
Nchar、Nvarchar 和 Ntext
数据类型存款和储蓄。使用这种字符类型存款和储蓄的列可以积存多少个字符聚集的字符。当列的长短变化时,应该使用Nvarchar
字符类型,这时候最多能够储存 4000 个字符。当列的尺寸固定不改变时,应该运用
Nchar 字符类型,相近,那时候最多可以储存4000 个字符。当使用 Ntext
数据类型时,该列能够积攒多于 4000 个字符。 (4卡塔尔(قطر‎日期和岁月数据类型

日期和时间数据类型包含 Datetime 和 Smalldatetime两种等级次序日期和岁月数据类型由有效的日期和时间组成。举个例子,有效的日子和岁月数额包罗“4/01/98
12:15:00:00:00 PM”和“1:28:29:15:01AM
8/17/98”。前叁个数据类型是日期在前,时间在后贰个数据类型是弹指间在前,日期在后。在
Microsoft SQL Server中,日期和岁月数据类型满含Datetime 和 Smalldatetime
两种类型时,所蕴藏的日子范围是从 1753 年 1 月 1 日起初,到9999 年12 月
31 日实现(每多少个值必要 8 个存款和储蓄字节卡塔尔。使用 Smalldatetime
数据类型时,所蕴藏的日期范围是 一九〇〇年 1 月 1日 开头,到 2079 年 12 月 十七10日终结(每一个值要求 4 个存款和储蓄字节State of Qatar。
日期的格式能够设定。设置日期格式的一声令下如下: Set DateFormat {format |
@format _var| 其中,format | @format_var 是日期的各样。有效的参数包罗MDY、DMY、YMD、YDM、MYD 和 DYM。在私下认可意况下,日期格式为MDY。
比如,当试行 Set DateFormat YMD 之后,日期的格式为年 月 日 情势;当实行Set DateFormat DMY 之后,日期的格式为日 月有年 方式 数字数据类型

数字数据只包涵数字。数字数据类型富含正数和负数、小数和整数
整数由正整数和负整数组成,比方 39、25、0-2 和 33967。在 Micrsoft SQL
Server 中,整数存款和储蓄的数据类型是 Int,Smallint和 Tinyint。Int
数据类型存款和储蓄数据的限量大于 Smallint 数据类型存款和储蓄数据的节制,而 Smallint
据类型存款和储蓄数据的范围大于Tinyint 数据类型存款和储蓄数据的界定。使用 Int
数据狗昔存款和储蓄数据的节制是从 -2 147 483 648 到 2 147 483 647。使用
Smallint 数据类型时,存储数据的约束从 -32 768 到 32 767。使用Tinyint
数据类型时,存款和储蓄数据的范围是从0 到255。 准确小娄数据在 SQL Server
中的数据类型是 Decimal 和
Numeric。这种多少所占的积攒空间依据该数量的位数后的位数来规定。 在SQL
Server 中,相通小数数据的数据类型是 Float 和
Real。举例,三分之一这一个分数记作。3333333,当使用相符数据类型时能可信赖表示。因而,从系统中搜索到的数量恐怕与仓储在该列中多少不完全同样。
货币数据表示正的要么负的货币数据 。

在 Microsoft SQL Server 中,货币数据的数据类型是Money 和 Smallmoney
Money数据类型必要 8 个存款和储蓄字节,Smallmoney 数据类型供给 4 个存款和储蓄字节。

非同小可数据类型

出奇数据类型包涵前边未有提过的数据类型。特殊的数据类型有3种,即
Timestamp、Bit 和 Uniqueidentifier。 Timestamp 用于表示SQL Server
活动的前后相继顺序,以二进投影的格式表示。Timestamp
数据与插入数据只怕日期和岁月未曾涉及。 Bit 由 1 依然 0
组成。今世表真或许假、ON 也许 OFF 时,使用 Bit
数据类型。举例,询问是不是是每三次访谈的顾客机伏乞可以储存在此种数据类型的列中。
Uniqueidentifier 由 16
字节的十三进制数字组成,表示贰个大局独一的。当表的记录行须求唯不经常,GUID是极度常有效。譬喻,在顾客标暗记列使用这种数据类型能够区分分裂的客商。

2.客商定义的数据类型

顾客定义的数据类型基于在 Microsoft SQL Server
中提供的数据类型。当多少个表中必得存款和储蓄同一种数据类型时,况兼为作保那一个列有相通的数据类型、长度和可空性时,能够运用客户定义的数据类型。比方,可定义一种名字为postal_code 的数据类型,它依照 Char 数据类型。
当创设顾客定义的数据类型时,必得提供三个数:数据类型的称呼、所依照的系统数据类型和数据类型的可空性。
创设客商定义的数据类型

创制顾客定义的数据类型能够应用 Transact-SQL 语句。系统存款和储蓄进度sp_addtype 能够来创造顾客定义的数据类型。其语法形式如下: sp_addtype
{type},[,system_data_bype][,null_type] 个中,type
是客户定义的数据类型的称呼。system_data_type
是系统提供的数据类型,举个例子 Decimal、Int、Char 等等。 null_type
表示该数据类型是什么管理空值的,必得利用单引号引起来,举例NULL、NOT
NULL或许NONULL。 例子: Use cust Exec sp_addtype ssn,Varchar(11卡塔尔,Not
Null 创制叁个客户定义的数据类型 ssn,其基于的种类数据类型是变长为11
的字符,不准空。 例子: Use cust Exec sp_addtype
birthday,datetime,Null 创立叁个顾客定义的数据类型
birthday,其基于的种类数据类型是 DateTime,允许空。 例子: Use master
Exec sp_addtype telephone,varchar(24),Not Null Eexc sp_addtype
fax,varchar(24卡塔尔,Null 创设七个数据类型,即 telephone 和 fax
删除客户定义的数据类型

当顾客定义的数据类型无需时,可去除。删除顾客定义的数据类型的指令是
sp_droptype {type}。 例子: Use master Exec sp_droptype ssn
注意:当表中的列还正在利用客商定义的数据类型时,可能在其上边还绑定有私下认可恐怕准绳时,这种客户定义的数据类型无法去除。

SQLServer中易混淆的数据类型

SQL Server 中易混淆的数据类型
近期在做数据库设计,不经常候真弄不清SQL二〇〇二里的数据类型,所以摘了那篇小说。

(1State of Qatarchar、varchar、text和nchar、nvarchar、ntext
char和varchar的长短都在1到8000
之间,它们的分别在于char是定长字符数据,而varchar是变长字符数据。所谓定长便是长度固定的,当输入的多长未有达标钦命的长度时将活动以英文空格在其前面填充,使长度到达相应的长短;而变长字符数据则不会以空格填充。text存款和储蓄可变长度的非Unicode数据,最大尺寸为2^31-1
(2,147,483,647State of Qatar个字符。

后边三种数据类型和前面包车型客车对照,从名称上看只是多了个字母n,它代表存款和储蓄的是Unicode数据类型的字符。写进程序的相恋的人对Unicode应该很精通。字符中,乌克兰语字符只需求四个字节存款和储蓄就足足了,但汉字众多,须求多少个字节存款和储蓄,韩文与汉字同期设有时便于形成混乱,Unicode字符集正是为着减轻字符集这种不匹配的主题材料而发生的,它装有的字符都用八个字节表示,即克罗地亚语字符也是用五个字节表示。nchar、nvarchar的长短是在1到
4000之内。和char、varchar比较:nchar、nvarchar则最多囤积4000个字符,不论是克罗地亚语依旧汉字;而char、
varchar最多能存储8000个朝鲜语,4000个汉字。能够寓目使用nchar、nvarchar数据类型时决不担心输入的字符是韩文依旧汉字,较为便利,但在仓库储存丹麦语时数量上稍加损失。

(2卡塔尔datetime和smalldatetime
datetime:从1753年10月1日到9999年7月17日的日期和时间数额,准确到百分之三秒。
smalldatetime:从1903年7月1日到2079年七月6日的日期和时间数额,准确到秒钟。

(3卡塔尔bitint、int、smallint、tinyint和bit
bigint:从-2^63(-9223372036854775808State of Qatar到2^63-1(9223372036854775807卡塔尔的整型数据。
int:从-2^31(-2,147,483,648卡塔尔国到2^31-1(2,147,483,647卡塔尔(قطر‎的整型数据。
smallint:从-2^15(-32,768State of Qatar到2^15-1(32,767卡塔尔的整数数据。
tinyint:从0到255的莫西干发型数据。 bit:1或0的大背头数据。

(4State of Qatardecimal和numeric
这两种数据类型是相仿的。都有七个参数:p和s。p钦赐小数点侧面和左手能够积攒的十进制数字的最大个数,p必得是从
1到38以内的值。s钦命小数点左侧能够积攒的十进制数字的最大个数,s必得是从0到p之间的值,暗许小数位数是0。

(5卡塔尔国float和real float:从-1.79^308到1.79^308以内的浮点数字数据。
real:从-3.40^38到3.40^38之内的浮点数字数据。在SQL
Server中,real的相近词为float(24卡塔尔国。

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*
*
Website