问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

MS SQL的数据类型详细介绍?

发布网友 发布时间:2022-04-08 07:09

我来回答

2个回答

热心网友 时间:2022-04-08 08:38

. char 和nchar 当填入数据为空时,数据库自动使用全空格来代替,从而使not null形同虚设。所以如果字段不能为空,一定要在程序中提前判断。

2. char 和nchar因为长度固定,据说读写的速度要比 varchar和nvarchar快

=========================================================================
SQL Server数据库的数据类型详细介绍

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 数据类型时,

所存储的日期范围是 1900年 1 月 1日 开始,到 2079 年 12 月 31 日结束(每一个值要求 4 个存储字节)。

日期的格式可以设定。设置日期格式的命令如下:

Set DateFormat {format | @format _var|<br> <br><br><br>其中,format | @format_var 是日期的顺序。有效的参数包括 MDY、DMY、YMD、YDM、MYD 和 DYM。在默认情况下,日期格式为MDY。<br><br><br>例如,当执行 Set DateFormat YMD 之后,日期的格式为年 月 日 形式;<br><br>当执行 Set DateFormat DMY 之后,日期的格式为日 月有年 形式<br><br><br>(5)数字数据类型<br><br><br>数字数据只包含数字。数字数据类型包括正数和负数、小数(浮点数)和整数<br><br><br>整数由正整数和负整数组成,例如 39、25、0-2 和 33967。<br><br>在 Micrsoft SQL Server 中,整数存储的数据类型是Int,Smallint和 Tinyint。<br><br>Int 数据类型存储数据的范围大于 Smallint 数据类型存储数据的范围,<br><br>而 Smallint 据类型存储数据的范围大于Tinyint 数据类型存储数据的范围。<br><br>使用 Int 数据存储数据的范围是从 -2 147 483 648 到 2 147 483 647(每一个值要求4个字节存储空间)。<br><br>使用 Smallint 数据类型时,存储数据的范围从 -32 768 到 32 767(每一个值要求2个字节存储空间)。<br><br>使用Tinyint 数据类型时,存储数据的范围是从0 到255(每一个值要求1个字节存储空间)。<br><br><br>精确小 数数据在 SQL Server 中的数据类型是 Decimal 和 Numeric。这种数据所占的存储空间根据该数据的位数后的位数来确定。<br><br><br>在SQL Server 中,近似小数数据的数据类型是 Float 和 Real。例如,三分之一这个分数记作。<br><br>3333333,当使用近似数据类型时能准确表示。因此,从系统中检索到的数据可能与存储在该列中数据不完全一样。<br><br>=======================================================================================<br><br>SQL Server的数据类型介绍(二)<br><br><br>(6)货币数据表示正的或者负的货币数量 。<br><br><br>在 Microsoft SQL Server 中,货币数据的数据类型是Money 和 Smallmoney 。<br><br><br>而Money数据类型要求 8 个存储字节,Smallmoney 数据类型要求 4 个存储字节。<br><br><br>(7)特殊数据类型<br><br><br>特殊数据类型包括前面没有提过的数据类型。特殊的数据类型有3种,即Timestamp、Bit 和 Uniqueidentifier。<br><br><br>Timestamp 用于表示SQL Server 活动的先后顺序,以二进投影的格式表示。Timestamp 数据与插入数据或者日期和时间没有关系。<br><br><br>Bit 由 1 或者 0 组成。当表示真或者假、ON 或者 OFF 时,使用 Bit 数据类型。<br><br><br><br>例如,询问是否是每一次访问的客户机请求可以存储在这种数据类型的列中。<br><br><br>Uniqueidentifier 由 16 字节的十六进制数字组成,表示一个全局唯一的。<br><br><br><br>当表的记录行要求唯一时,GUID是非常有用。例如,在客户标识号列使用这种数据类型可以区别不同的客户。<br><br><br><br>=======================================================================<br><br>用户定义的数据类型<br><br><br>用户定义的数据类型基于在 Microsoft SQL Server 中提供的数据类型。当几个表中必须存储同一种数据类型时,<br><br><br>并且为保证这些列有相同的数据类型、长度和可空性时,可以使用用户定义的数据类型。<br><br><br>例如,可定义一种称为   postal_code 的数据类型,它基于 Char 数据类型。<br><br><br>当创建用户定义的数据类型时,必须提供三个数:数据类型的名称、所基于的系统数据类型和数据类型的可空性。<br><br><br>(1)创建用户定义的数据类型<br><br><br>创建用户定义的数据类型可以使用 Transact-SQL 语句。系统存储过程 sp_addtype 可以来创建用户定义的数据类型。其语法形式如下:<br><br><br>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

(2)删除用户定义的数据类型

当用户定义的数据类型不需要时,可删除。删除用户定义的数据类型的命令是 sp_droptype {'type'}。

例子:

Use master
Exec sp_droptype 'ssn'

注意:当表中的列还正在使用用户定义的数据类型时,或者在其上面还绑定有默认或者规则时,这种用户定义的数据类型不能删除。

热心网友 时间:2022-04-08 09:56

u

uSQL Server 2000提供的系统数据类型有以下几大类,共25种。
想要详细的吗?
到soft.qhde.net , 下载讲义吧
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
黑色芳纶哪家的好一些? 苏子叶我们中国叫什么苏子叶在中国叫什么 福州小车过户多少钱啊 福州车辆过户要多少钱 民生山西怎么查不到医疗保险信息 app查询养老金医疗保险方法介绍_百度... 太原医保查询平台(附入口二维码) 鉴定伤残等级去哪个部门 2024年中国铝业集团高管团队名单 2024中铝集团董事会成员一览 右枕位胎儿图怎么睡 一鸣楼宇对讲,刷卡开不了门,但分机能开,对讲能用,怎样维修? 做土豆炖茄子汤为什么会黑? 平安养老金通369天理账到期后怎样取出来? 买的平安养老金通30天到期了怎么钱取不出来呀,只能取余额+里的钱,求大神赐教怎么把钱连本带利取出来 QQ极速版可以绑定闺蜜关系吗? 如图 我要限速别人网速为100kb应该怎么填 我穿*衣服做生意,朋友说你的衣服是*谐音生意黄了。我该怎么回答 限速怎么办有啥办法让网速快点嘛 怎么设置qos限速,本人用的是2.5M的带宽,怎么让其他人下载速度在100左右就行,QOS里面怎么填写!! oppok3摄像头被占用无法使用面部解锁 路由器的ip宽带限速,6兆宽带怎么设置?怎么设置别人的网速是80kb&#47;s为最高?需要输入数据?数据 路由器限速怎么设置速度啊 斐讯k2网速限速怎么填写生效 为什么一填写就显示输入范围为 0-4096? 网络限速别人还可以看抖音上行要填多少kb,下行要填写多少kb合适?_百度问一问 60安20a电动车,小区充电桩1元4小时,若在家里充电6毛一度电,哪个划算? 路由器设置限速怎么填写限速IP 深圳龙华大浪那里有出租充电桩 深圳沙井哪里有电瓶车电动车快速充电站买,我想买一个回来. 深圳关外哪里有出租车充电的 深圳市港大医院这附近什么地方有电动自行车充电? 深圳龙岗布吉附近哪里有充电站? 你好 我手机号码之前开店的时候被注册了店面名称,现在一打电话就显示 可以取消吗 谢谢 我以前开过店,现在打电话显示我以前的店名,自己也没有标记过,怎么取消... 国外最流行的鬼步舞,达人全程讲解怎么跳好 鬼步舞,基本动作详细练习方法 1MB流量是什么概念?等于多少钱? 电信套餐外的流量多钱1MB? 套餐流量超了 超出的多少钱一兆? 流量使用超出部分1MB多钱? 电信套餐外的流量1M多少钱? 现在的中国联通套餐外流量收费是多少?1MB多少钱? 求助,水榕黄叶破洞,有个还烂根,怎么办,不是说 黑了一部分的香蕉还可以吃吗 水库有3斤左右的草鱼,请问用什么饵料啊?嫩玉米可以钓吗? 植物 一种香蕉或者芭蕉类,地面部分特别粗大,果子不大里面有小拇指大的黑色种子求名字和图片 想学简单的魔术 香蕉为什么代表种族歧视 请问什么是黑香蕉 吃稍微烂点的香蕉没事吧!?? 山里土名叫老驴蛋学名叫什么?(藤植物、果实大黑、成熟黑红) QQ牧场里的21种动物的语言