51fyvg.com- 乐天堂app下载学习从此开端!
DIY硬件教程攒机经历装机装备
规划Photoshop网页规划特效
体系注册表DOS体系指令其它
存储主板显卡外设键鼠内存
修理显卡CPU内存打印机
WinXPVistaWin7unix/linux
CPU光驱电源/散热显示器其它
修技主板硬盘键鼠显示器光驱
工作ExcelWordPowerPointWPS
编程数据库CSS脚本PHP
网络局域网QQ服务器
软件网络体系图画安全
页面导航: 主页 > 规划学院 > 网络编程 > 数据库 >

sqlserver字段类型详解

乐天堂app下载软硬件运用网 51fyvg.com 时刻:2016-08-19 10:12 作者:佚名

bit 整型
bit数据类型是整型,其值只能是0、1或空值。这种数据类型用于存储只要两种或许值的数据,如Yes 或No、True 或False 、On 或Off.

留意:很省空间的一种数据类型,假如能够满意需求应该尽量多用。

 

tinyint 整型
tinyint 数据类型能存储从0到255 之间的整数。它在你只计划存储有限数目的数值时很有用。这种数据类型在数据库中占用1 个字节.

留意:假如bit类型太单调不能满意您的需求,您能够考虑用tinyint类型,由于这个类型相对也是比较安全的,不接受歹意脚本内容的嵌入。

 

smallint 整型
smallint 数据类型能够存储从- 2的15次幂(-32768)到2的15次幂(32767)之间的整数。这种数据类型对存储一些常限定在特定规模内的数值型数据十分有用。这种数据类型在数据库里占用2 字节空间.

留意:假如tinyint类型太单调不能满意您的需求,您能够考虑用smallint类型,由于这个类型相对也是比较安全的,不接受歹意脚本内容的嵌入。

 

int 整型
int 数据类型能够存储从- 2的31次幂(-2147483648)到2的31次幂 (2147483 647)之间的整数。存储到数据库的简直一切数值型的数据都能够用这种数据类型。这种数据类型在数据库里占用4个字节.

留意:假如smallint也不能够满意您的需求,您能够考虑用长度更大的int类型。

decimal 精确数值型
decimal 数据类型能用来存储从-10的38次幂-1到10的38次幂-1的固定精度和规模的数值型数据。运用这种数据类型时,有必要指定规模和精度。 规模是小数点左右所能存储的数字的总位数。精度是小数点右边存储的数字的位数

numeric 精确数值型
numeric数据类型与decimal 类似。

smallmoney 钱银型
smallmoney 数据类型用来表明钱和钱银值。这种数据类型能存储从-214748.3648 到214748.3647 之间的数据,精确到钱银单位的万分之一

money 钱银型
money数据类型用来表明钱和钱银值。这种数据类型能存储从-9220亿到9220 亿之间的数据,精确到钱银单位的万分之一

float 近似数值型
float 数据类型是一种近似数值类型,供浮点数运用。说浮点数是近似的,是由于在其规模内不是一切的数都能精确表明。浮点数能够是从-1.79E+308到1.79E+308 之间的恣意数

real 近似数值型
real 数据类型像浮点数相同,是近似数值类型。它能够表明数值在-3.40E+38到3.40E+38之间的浮点数

Smalldatetime 日期时刻型
smalldatetime 数据类型用来表明从1900年1月1日到2079年6月6日间的日期和时刻,精确到一分钟


datetime 日期时刻型
datetime数据类型用来表明日期和时刻。这种数据类型存储从1753年1月1日到9999年12月31日间一切的日期和时刻数据, 精确到三百分之一秒或3.33毫秒 .

cursor 特别数据型
cursor 数据类型是一种特别的数据类型,它包含一个对游标的引证。这种数据类型用在存储进程中,而且创立表时不能用

timestamp 特别数据型
timestamp 数据类型是一种特别的数据类型,用来创立一个数据库规模内的仅有数码。 一个表中只能有一个timestamp列。每次刺进或修正一行时,timestamp列的值都会改动。尽管它的姓名中有“time”, 但timestamp列不是人们可辨认的日期。在一个数据库里,timestamp值是仅有的

Uniqueidentifier 特别数据型
Uniqueidentifier数据类型用来存储一个大局仅有标识符,即GUID。GUID确实是大局仅有的。这个数简直没有机会在另一个体系中被重建。能够运用NEWID 函数或转化一个字符串为仅有
标识符来初始化具有仅有标识符的列 .

char 字符型
char数据类型用来存储指定长度的定长非共同编码型的数据。当界说一列为此类型时,你有必要指定列长。当你总能知道要存储的数据的长度时,此数据类型很有用。例如,当你按邮政编码加4个字符格局来存储数据时,你知道总要用到10个字符。此数据类型的列宽最大为8000 个字符.

varchar 字符型 varchar数据类型,同char类型相同,用来存储非共同编码型字符数据。与char 型不相同,此数据类型为变长。当界说一列为该数据类型时,你要指定该列的最大长度。 它与char数据类型最大的差异是,存储的长度不是列长,而是数据的长度 .

text 字符型
text 数据类型用来存储许多的非共同编码型字符数据。这种数据类型最多能够有231-1或20亿个字符.

nchar 共同编码字符型
nchar 数据类型用来存储定长共同编码字符型数据。共同编码用双字节结构来存储每个字符,而不是用单字节(一般文本中的状况)。它答应许多的扩展字符。此数据类型能存储4000种字符,运用的字节空间上增加了一倍.

nvarchar 共同编码字符型
nvarchar 数据类型用作变长的共同编码字符型数据。此数据类型能存储4000种字符,运用的字节空间增加了一倍.

ntext 共同编码字符型
ntext 数据类型用来存储许多的共同编码字符型数据。这种数据类型能存储230 -1或将近10亿个字符,且运用的字节空间增加了一倍

binary 二进制数据类型
binary数据类型用来存储可达8000 字节长的定长的二进制数据。当输入表的内容挨近相同的长度时,你应该运用这种数据类型.

varbinary 二进制数据类型
varbinary 数据类型用来存储可达8000 字节长的变长的二进制数据。当输入表的内容巨细可变时,你应该运用这种数据类型

image 二进制数据类型
image 数据类型用来存储变长的二进制数据,最大可达231-1或大约20亿字节



---------------------------------------------------
(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|
  其间,format | @format_var 是日期的次序。有用的参数包含 MDY、DMY、YMD、YDM、MYD 和 DYM。在默许状况下,日期格局为MDY。
  例如,当履行 Set DateFormat YMD 之后,日期的格局为年 月 日 方式;当履行 Set DateFormat DMY 之后,日期的格局为日 月有年 方式

(5)数字数据类型

  数字数据只包含数字。数字数据类型包含正数和负数、小数(浮点数)和整数
  整数由正整数和负整数组成,例如 39、25、0-2 和 33967。在 Micrsoft SQL Server 中,整数存储的数据类型是    Int,Smallint和 Tinyint。Int 数据类型存储数据的规模大于 Smallint 数据类型存储数据的规模,而 Smallint 据类型存储数据的规模大于Tinyint 数据类型存储数据的规模。运用 Int 数据狗昔存储数据的规模是从 -2 147 483 648 到 2 147 483 647(每一个值要求4个字节存储空间)。运用 Smallint 数据类型时,存储数据的规模从 -32 768 到 32 767(每一个值要求2个字节存储空间)。运用Tinyint 数据类型时,存储数据的规模是从0 到255(每一个值要求1个字节存储空间)。
  精确小娄数据在 SQL Server 中的数据类型是 Decimal 和 Numeric。这种数据所占的存储空间依据该数据的位数后的位数来确认。
  在SQL Server 中,近似小数数据的数据类型是 Float 和 Real。例如,三分之一这个分数记作。3333333,当运用近似数据类型时能精确表明。因而,从体系中检索到的数据或许与存储在该列中数据不完全相同。

(6)钱银数据表明正的或许负的钱银数量 。

  在 Microsoft SQL Server 中,钱银数据的数据类型是Money 和 Smallmoney
  Money数据类型要求 8 个存储字节,Smallmoney 数据类型要求 4 个存储字节。

(7)特别数据类型

  特别数据类型包含前面没有提过的数据类型。特别的数据类型有3种,即    Timestamp、Bit 和 Uniqueidentifier。
  Timestamp 用于表明SQL Server 活动的先后次序,以二进投影的格局表明。Timestamp 数据与刺进数据或许日期和时刻没有关系。
  Bit 由 1 或许 0 组成。当表明真或许假、ON 或许 OFF 时,运用 Bit 数据类型。例如,问询是否是每一次拜访的客户机恳求能够存储在这种数据类型的列中。
  Uniqueidentifier 由 16 字节的十六进制数字组成,表明一个大局仅有的。当表的记载行要求仅有时,GUID是十分有用。例如,在客户标识号列运用这种数据类型能够差异不同的客户。

2.用户界说的数据类型

  用户界说的数据类型根据在 Microsoft SQL Server 中供给的数据类型。当几个表中有必要存储同一种数据类型时,而且为确保这些列有相同的数据类型、长度和可空性时,能够运用用户界说的数据类型。例如,可界说一种称为   postal_code 的数据类型,它根据 Char 数据类型。
  当创立用户界说的数据类型时,有必要供给三个数:数据类型的称号、所根据的体系数据类型和数据类型的可空性。

(1)创立用户界说的数据类型

  创立用户界说的数据类型能够运用 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

(2)删去用户界说的数据类型

  当用户界说的数据类型不需求时,可删去。删去用户界说的数据类型的指令是 sp_droptype {'type'}。
  比如:
  Use master
  Exec sp_droptype 'ssn'
  留意:当表中的列还正在运用用户界说的数据类型时,或许在其上面还绑定有默许或许规矩时,这种用户界说的数据类型不能删去。

SQL SERVER的字段类型阐明

  以下为SQL SERVER7.0以上版别的字段类型阐明。SQL SERVER6.5的字段类型阐明请参阅SQL SERVER供给的阐明。

字段类型 描绘
bit 0或1的整型数字
int 从-2^31(-2,147,483,648)到2^31(2,147,483,647)的整型数字
smallint 从-2^15(-32,768)到2^15(32,767)的整型数字
tinyint 从0到255的整型数字

decimal 从-10^38到10^38-1的定精度与有用位数的数字
numeric decimal的近义词

money 从-2^63(-922,337,203,685,477.5808)到2^63-1(922,337,203,685,477.5807)的钱银数据,最小钱银单位千分之十
smallmoney 从-214,748.3648到214,748.3647的钱银数据,最小钱银单位千分之十

float 从-1.79E+308到1.79E+308可变精度的数字
real 从-3.04E+38到3.04E+38可变精度的数字

datetime 从1753年1月1日到9999年12日31的日期和时刻数据,最小时刻单位为百分之三秒或3.33毫秒
smalldatetime 从1900年1月1日到2079年6月6日的日期和时刻数据,最小时刻单位为分钟

timestamp 时刻戳,一个数据库宽度的仅有数字
uniqueidentifier 全球仅有标识符GUID

char 定长非Unicode的字符型数据,最大长度为8000
varchar 变长非Unicode的字符型数据,最大长度为8000
text 变长非Unicode的字符型数据,最大长度为2^31-1(2G)

nchar 定长Unicode的字符型数据,最大长度为8000
nvarchar 变长Unicode的字符型数据,最大长度为8000
ntext 变长Unicode的字符型数据,最大长度为2^31-1(2G)

binary 定长二进制数据,最大长度为8000
varbinary 变长二进制数据,最大长度为8000
image 变长二进制数据,最大长度为2^31-1(2G)


-------------------------------------
Bit
1位,值为0或1
Int
Integer
4字节,值为-2^31~2^31-1
Smallint
2字节,值为-2^15~2^15-1
Tinyint
1字节,值为0~255
Decimal (p,s)
数字数据,固定精度为P,宽度为S
Numeric
Money
8字节,寄存钱银类型,值为-2^63~2^63-1
Small money
4字节,寄存钱银类型,值为-214748.3648~+214748.3647近似数值数据类型
Float (n)
N在1~24之间,4字节,7位精度
N=1~7为real
N在25~53之间,8字节,15位精度
=8~15为float
Datetime
8字节,描绘某天的日期和时刻,值的精确度为1/300秒
Smalldatetime
4字节,描绘某天的日期和时刻,精度为分钟
Cursor
对游标的引证
Timestamp
8字节,寄存在数据库内仅有的数据
Uniqueidentifier
16字节,寄存大局仅有标识(GUID)
Char (n)
非unicode字符串的固定长度,n=1~8000
Character (n)
Varchar (n)
可变长度,非unicode字符串n=1~8000
Char varying(n)
Text
服务器代码页中可变长度非unicode数据。最大长度为231-1个字符
Nchar
固定长度unicode字符串n=1~4000
National character (n),
National char(n)
Nvarchar
固定长度unicode字符串n=1~4000
National character varying(n)
Ntext
可变长度unicode数据,最大长度为230-1个字符
National text
Binary (n)
固定长度二进制数据,n在1~8000之间,存储空间为n+4字节
Varbinary (n)
可变长度二进制数据,n=1~8000
Binary varying (n)
Tmage
可变长度二进制数据,巨细为0~231-1
留意:
1) 关于数值型数据类型,宽度(scale)是指存储在小数点后的数字位数,而精度(precision)是指能存储的包含小数点在内的一切数字位数。
2) money和small money的存储宽度为4。
3) 时刻戳列值在每一行更新时体系自动更新,时刻戳列不能是关键字或关键字的一部分。
4) 仅有标识数据类型不能运用算术操作符(如+、-等),这种数据类型只能运用持平比较操作。Unicode是一切字符集的共同存储数据的规范。它要运用两倍于非Unicode数据存储的存储空间。

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
宣布谈论
请自觉遵守互联网相关的政策法规,禁止发布色情、暴力、反抗的言辞。
点评:
表情:
验证码:点击我替换图片
引荐常识