SQLServer数据类型介绍
sqlserver number 类型

sqlserver number 类型SQLServer是一种关系型数据库管理系统,它支持多种数据类型,包括数字类型。
在 SQL Server 中,数字类型用于存储数值数据。
本文将介绍 SQL Server 中的数字类型,包括整型、小数型和货币型。
整型整型(Integer)是一种用于存储整数的数据类型。
SQL Server 中的整型有四种类型:tinyint、smallint、int 和 bigint。
这四种类型的区别在于它们能够存储的整数范围大小不同。
tinyint:用于存储 0 到 255 的整数。
smallint:用于存储 -32,768 到 32,767 的整数。
int:用于存储 -2,147,483,648 到 2,147,483,647 的整数。
bigint:用于存储 -9,223,372,036,854,775,808 到9,223,372,036,854,775,807 的整数。
在 SQL Server 中,整型默认为有符号类型,即可以存储正数和负数。
如果需要存储无符号整数,可以使用 tinyint 类型。
小数型小数型(Decimal)是一种用于存储十进制数的数据类型。
SQL Server 中的小数型有两种类型:decimal 和 numeric。
这两种类型的区别在于它们的精度和存储空间大小不同。
decimal:用于存储固定精度的十进制数,它的精度和小数位数可以由用户指定。
numeric:用于存储固定精度的十进制数,它的精度和小数位数可以由用户指定。
在 SQL Server 中,小数型的精度和小数位数可以由用户指定。
精度指的是数字的总位数,小数位数指的是小数部分的位数。
例如,DECIMAL(10,2) 表示精度为 10 位,小数位数为 2 位的小数型。
货币型货币型(Money)是一种用于存储货币数值的数据类型。
SQL Server 中的货币型只有一种类型:money。
货币型可以存储任意货币单位的数值,包括小数位数。
sqlserver数据类型

3.2.1 SQL Server 2000的数据类型
八、二进制数据类型 SQL Server提供了3类二进制数据类型,分别是: binary,varbinary和image。 binary数据类型定义固定长度的二进制数据,其最大 长度可以达到8KB。 varbinary数据类型定义可变长度的二进制数据,其最 大长度不得超过8KB。 image数据类型用于存储字节数超过8KB的数据。比 如:Word文档、Excel图表以及图像数据等。
3.2.1 SQL Server 2000的数据类型
decimal和numeric型数据的存储长度随精度变 化而变化,数据的存储长度随精度变化有以下四 种情况:
精度 1~9 10~19 20~28 29~38
存储字节长度 5 9 13 17
5
3.2.1 SQL Server 2ቤተ መጻሕፍቲ ባይዱ00的数据类型
15
3.2.3 表的建立、修改和删除
Student表结构
字段 1 2 3 4 字段名 Sno 类型 char 宽度 5 20 1 小数位 索引 排序 Null Not
Sname char Ssex Sage char int
5
Sdept
char
15
16
3.2.3 表的建立、修改和删除
1、字段名(列名) 字段命名要遵守标识符有关格式的规定: 标识符的首字符必须是英文字母,汉字,下划线“_”,“@”或“#”。 标识符的其他字符可以是英文字母,汉字,数字,下划线“_”, “@”、“#”或“$”。 标识符不允许是T-SQL的保留字。由于T-SQL不区分大小写,所以 无论是保留字的大写还是小写都不允许使用。 标识符内部不允许有空格或特殊字符。 字段名不得超过128个字符。 同一表中不许有重名列。
SQLSERVER数据类型详解(SQLServer2008)

SQLSERVER数据类型详解(SQLServer2008)数据类型类别SQL Server 中的数据类型归纳为下列类别:数字类型字符串类型在 SQL Server 中,根据其存储特征,某些数据类型被指定为属于下列各组:⼤值数据类型:varchar(max)、nvarchar(max) 和 varbinary(max)⼤型对象数据类型:text、ntext、image、varchar(max)、nvarchar(max)、varbinary(max) 和 xml1.精确数字如decimal和numeric等数值数据类型可存储⼩数点右边或左边的变长位数。
Scale是⼩数点右边的位数。
精度(Precision)定义了总位数,包括⼩数点右边的位数。
例如,由于14.88531可为numeric(7,5)或decimal(7,5)。
如果将14.25插⼊到numeric(5,1)列中,它将被舍⼊为14.3。
数据类型描述存储空间注释bit0、1或Null的整数数据类型1字节(8位)SQL Server 数据库引擎可优化 bit 列的存储。
如果表中的列为 8 bit 或更少,则这些列作为 1 个字节存储。
如果列为 9 到 16 bit,则这些列作为 2 个字节存储,以此类推。
字符串值 TRUE 和 FALSE 可以转换为以下 bit 值:TRUE 转换为 1,FALSE 转换为 0。
bigint -2^63 (-9,223,372,036,854,775,808) 到 2^63-1(9,223,372,036,854,775,807)8 字节int 数据类型是 SQL Server 中的主要整数数据类型。
bigint 数据类型⽤于整数值可能超过 int 数据类型⽀持范围的情况。
在数据类型优先次序表中,bigint 介于 smallmoney和 int 之间。
只有当参数表达式为 bigint 数据类型时,函数才返回bigint。
五,SQLServer常用数据类型

五,SQLServer常⽤数据类型数值型数据 1. BIGINT 可以存放-263~263-1范围内的整型数据。
占⽤8字节,其中63位⽤于存储数字,1位⽤于表⽰正负。
2. INT 也可写作INTeger,可以存储从-231~231-1范围内的全部整数。
占⽤4字节,其中31位⽤于存储数字,1位⽤于表⽰正负。
3. SMALLINT 可以存储-215~215-1范围内的所有整数。
占⽤2字节,其中15位⽤于存储数组,1位⽤于表⽰正负。
4. TINYINT 可以存储0~255范围内的所有整数。
占⽤1字节。
5. DECIMAL和NUMERIC 在SQL Server中,decimal和numeric型数据的最⾼精度的可以达到38位,也就是说必须在-1038-1~1038-1之间。
格式为:Decimal(n,d)或Numeric(n,d),其中n为总的位数,d为⼩数位数。
6. FLOAT和REAL FLOAT 型数据范围为-1.79E+38~1.79E+38,REAL型数据范围为-3.40E+38~3.40E+38。
其中FLOAT可采⽤科学计数法表⽰,格式为FLOAT(n),n必须在1~53之间。
货币型数据 1. MONEY 存储的货币值由2个4字节整数构成,前⾯⼀个4字节表⽰货币值的整数部分,后⾯⼀个4字节表⽰货币值的⼩数部分。
存储货币值的范围是-263~263-1,可以精确到万分之⼀货币单位。
2. SMALLMONEY 存储的货币值由2个2字节整数构成,前⾯⼀个2字节表⽰货币值的整数部分,后⾯⼀个2字节表⽰货币值的⼩数部分。
存储货币值的范围是-214 748.3648 ~ +214 748.3647,也可以精确到万分之⼀货币单位。
字符型数据 1. CHAR 每个字符占⽤1字节存储空间。
使⽤固定长度来存储字符,最长可以容纳8000个字符。
利⽤CHAR数据类型来定义表列或者定义变量时,应该给定数据的最⼤长度。
sqlserver数据类型及适用范围

sqlserver数据类型及适用范围SQL Server是一种关系型数据库管理系统,它支持多种数据类型,每种数据类型都有其适用范围和特点。
本文将介绍一些常用的SQL Server数据类型及其适用范围,以帮助读者更好地理解和使用这些数据类型。
1. 整数数据类型:- INT:用于存储整数值,范围为-2^31到2^31-1。
- BIGINT:用于存储大整数值,范围为-2^63到2^63-1。
- SMALLINT:用于存储小整数值,范围为-2^15到2^15-1。
2. 小数数据类型:- FLOAT:用于存储浮点数值,范围为-1.79E+308到1.79E+308。
- DECIMAL:用于存储固定精度的小数值,需要指定精度和小数位数。
3. 字符串数据类型:- VARCHAR:用于存储可变长度的字符串,最大长度为8000个字符。
- CHAR:用于存储固定长度的字符串,需要指定长度,最大长度为8000个字符。
- NVARCHAR:用于存储Unicode格式的可变长度字符串,最大长度为4000个字符。
- NCHAR:用于存储Unicode格式的固定长度字符串,需要指定长度,最大长度为4000个字符。
4. 日期和时间数据类型:- DATETIME:用于存储日期和时间,范围为1753年1月1日到9999年12月31日。
- DATE:用于存储日期,范围为0001年1月1日到9999年12月31日。
- TIME:用于存储时间,范围为00:00:00到23:59:59。
5. 布尔数据类型:- BIT:用于存储布尔值,可以是0、1或NULL。
6. 二进制数据类型:- VARBINARY:用于存储可变长度的二进制数据,最大长度为8000个字节。
- BINARY:用于存储固定长度的二进制数据,需要指定长度,最大长度为8000个字节。
7. 其他数据类型:- XML:用于存储XML格式的数据。
- UNIQUEIDENTIFIER:用于存储全局唯一标识符(GUID)。
SqlServer常用字段类型

SqlServer常⽤字段类型bit:整型,取值范围[0,1,null],⽤于存取布尔值tinyint:整型,取值范围[0~256)smallint:整型,取值范围[-215~215)int:整型,取值范围[-231~231)decimal:精确数值型,⽰例:decimal(8,4); //共8位,⼩数点右4位numeric:与decimal类似smallmoney:货币型money:货币型float:近似数值型real:近似数值型Smalldatetime:⽇期时间型,表⽰从1900年1⽉1⽇到2079年6⽉6⽇间的⽇期和时间,精确到⼀分钟datetime:⽇期时间型,从1753年1⽉1⽇到9999年12⽉31⽇间所有的⽇期和时间数据,精确到三百分之⼀秒或3.33毫秒cursor:特殊数据型,包含⼀个对游标的引⽤。
⽤在存储过程中,创建表时不能⽤timestamp:特殊数据型,⽤来创建⼀个数据库范围内的唯⼀数码,⼀个表中只能有⼀个timestamp列,每次插⼊或修改⼀⾏时,timestamp 列的值都会改变。
Uniqueidentifier:特殊数据型,存储⼀个全局唯⼀标识符,即GUIDchar:字符型,存储指定长度的定长⾮统⼀编码型的数据,必须指定列宽,列宽最⼤为8000 个字符varchar:字符型,存储⾮统⼀编码型字符数据,数据类型为变长,要指定该列的最⼤长度,存储的长度不是列长,⽽是数据的长度text:字符型,存储⼤量的⾮统⼀编码型字符数据nchar:统⼀编码字符型,存储定长统⼀编码字符型数据,能存储4000种字符,统⼀编码⽤双字节结构来存储每个字符nvarchar:统⼀编码字符型,⽤作变长的统⼀编码字符型数据ntext:统⼀编码字符型,⽤来存储⼤量的统⼀编码字符型数据binary:⼆进制数据类型,存储可达8000 字节长的定长的⼆进制数据varbinary:⼆进制数据类型,⽤来存储可达8000 字节长的变长的⼆进制数据image:⼆进制数据类型,⽤来存储变长的⼆进制数据。
sqlserver常用数据类型(精炼版)

sqlserver常⽤数据类型(精炼版) 数据类型是⼀种属性,⽤于指定对象可保存的数据的类型,SQL Server中⽀持多种数据类型,包括字符类型、数值类型以及⽇期类型等。
数据类型相当于⼀个容器,容器的⼤⼩决定了装的东西的多少,将数据分为不同的类型可以节省磁盘空间和资源。
Sql Server 还能⾃动限制每个数据类型的取值范围,例如定义了⼀个类型为int的字段,如果插⼊数据时插⼊的值的⼤⼩在smallint或者tinyint范围之内, Sql Server 会⾃动将类型转换为smallint 或者tinyint,这样⼀来,在存储数据时,占⽤的存储空间只有int的1/2或则1/4. Sql Server数据库管理系统中的数据类型可以分为两类,分别是:系统默认的数据类型和⽤户⾃定义的数据类型。
下⾯分别介绍这两⼤类数据类型的内容.⼀:系统数据类型 Sql Server 提供的系统数据类型有⼀下⼏⼤类,共25种。
Sql Server会⾃动限制每个系统数据类型的取值范围,当插⼊数据库中的值超过了数据允许的范围时, Sql Server 就会报错。
1.整数数据类型 整数数据类型是常⽤的数据类型之⼀,主要⽤于存储数值,可以直接进⾏数据运算⽽不必使⽤函数转换.(1).bigint 每个bigint存储在8个字节中,其中⼀个⼆进制位表⽰符号位,其它63个⼆进制位表⽰长度和⼤⼩,可以表⽰-2的63次⽅~2的63次⽅-1范围内的所有整数。
(2).int int或者integer,每个int存储在4个字节中,其中⼀个⼆进制位表⽰符号位,其它31个⼆进制位表⽰长度和⼤⼩,,可以表⽰-2的31次⽅~2的31次⽅-1范围内的所有整数。
(3).smallint 每个smallint类型的数据占⽤了两个字节的存储空间,其中⼀个⼆进制位表⽰整数值的正负号,其它15个⼆进制位表⽰长度和⼤⼩,,可以表⽰-2的15次⽅~2的15次⽅-1范围内的所有整数。
mysql和sqlserver中的text数据类型

mysql和sqlserver中的text数据类型MySQL和SQL Server是两种常用的关系型数据库管理系统(RDBMS),它们在数据类型的定义上有一些异同。
其中一个相似之处就是它们都提供了TEXT数据类型用于存储长文本或大型数据。
1. MySQL的TEXT数据类型:在MySQL中,TEXT数据类型是用来存储变长文本数据的列类型。
它支持存储最大长度为65,535(2^16-1)个字符的文本数据。
MySQL 中的TEXT类型又分为四个子类型,包括TINYTEXT、TEXT、MEDIUMTEXT 和LONGTEXT。
- TINYTEXT:最大长度为255个字符(2^8-1),占用1字节前缀长度。
适用于较短的文本内容存储,例如描述、备注等。
- TEXT:最大长度为65,535个字符(2^16-1),占用2字节前缀长度。
适用于比较长的文本内容存储,例如文章内容等。
- MEDIUMTEXT:最大长度为16,777,215个字符(2^24-1),占用3字节前缀长度。
适用于较长的文本内容存储,例如博客、论坛等。
- LONGTEXT:最大长度为4,294,967,295个字符(2^32-1),占用4字节前缀长度。
适用于非常长的文本内容存储,例如演讲稿、小说等。
2. SQL Server的TEXT数据类型:在SQL Server中,TEXT数据类型也是用来存储长文本数据的列类型。
它支持存储最大长度为2^30-1(1,073,741,823)个字符的文本数据。
SQL Server中的TEXT类型也有类似的子类型,包括TEXT、NTEXT 和IMAGE。
- TEXT:用于存储非Unicode字符的文本数据,最大长度为2^30-1个字符。
适用于存储较长的非Unicode文本数据。
- NTEXT:用于存储Unicode字符的文本数据,最大长度为2^30-1个字符。
适用于存储较长的Unicode文本数据。
- IMAGE:用于存储二进制数据,最大长度为2^30-1个字节。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在计算机中数据有两种特征:类型和长度。
所谓数据类型就是以数据的表现方式和存储方式来划分的数据的种类。
在SQL Server 中每个变量、参数、表达式等都有数据类型。
系统提供的数据类型分为几大类,如表4-2 所示。
其中,BIGINT、 SQL_VARIANT 和TABLE 是SQL Server 2000 中新增加的3 种数据类型。
下面分类讲述各种数据类型。
一、整数数据类型整数数据类型是最常用的数据类型之一。
1、INT (INTEGER)INT (或INTEGER)数据类型存储从-2的31次方(-2 ,147 ,483 ,648)到2的31次方-1 (2 ,147 ,483,647)之间的所有正负整数。
每个INT 类型的数据按4 个字节存储,其中1 位表示整数值的正负号,其它31 位表示整数值的长度和大小。
2、SMALLINTSMALLINT 数据类型存储从-2的15次方( -32, 768)到2的15次方-1( 32 ,767 )之间的所有正负整数。
每个SMALLINT 类型的数据占用2 个字节的存储空间,其中1 位表示整数值的正负号,其它15 位表示整数值的长度和大小。
3、TINYINTTINYINT数据类型存储从0 到255 之间的所有正整数。
每个TINYINT类型的数据占用1 个字节的存储空间。
4、BIGINTBIGINT 数据类型存储从-2^63 (-9 ,223, 372, 036, 854, 775, 807)到2^63-1( 9, 223, 372, 036 ,854 ,775, 807)之间的所有正负整数。
每个BIGINT 类型的数据占用8个字节的存储空间。
二、浮点数据类型浮点数据类型用于存储十进制小数。
浮点数值的数据在SQL Server 中采用上舍入(Round up 或称为只入不舍)方式进行存储。
所谓上舍入是指,当(且仅当)要舍入的数是一个非零数时,对其保留数字部分的最低有效位上的数值加 1 ,并进行必要的进位。
若一个数是上舍入数,其绝对值不会减少。
如:对分别进行2 位和12位舍入,结果为和3.。
1、REAL 数据类型REAL数据类型可精确到第7 位小数,其范围为从 -38 到 +38。
每个REAL类型的数据占用4 个字节的存储空间。
2、FLOATFLOAT 数据类型可精确到第15 位小数,其范围为从 -308 到 +308。
每个FLOAT 类型的数据占用8 个字节的存储空间。
FLOAT数据类型可写为FLOAT[ n ]的形式。
n 指定FLOAT 数据的精度。
n 为1到15 之间的整数值。
当n 取1 到7 时,实际上是定义了一个REAL 类型的数据,系统用4 个字节存储它;当n 取8 到15 时,系统认为其是FLOAT 类型,用8 个字节存储它。
3、DECIMALDECIMAL数据类型可以提供小数所需要的实际存储空间,但也有一定的限制,您可以用2 到17 个字节来存储从-10的38次方-1 到10的38次方-1 之间的数值。
可将其写为DECIMAL[ p [s] ]的形式,p 和s 确定了精确的比例和数位。
其中p 表示可供存储的值的总位数(不包括小数点),缺省值为18; s 表示小数点后的位数,缺省值为0。
例如:decimal (15 5),表示共有15 位数,其中整数10 位,小数5。
位表4-3 列出了各精确度所需的字节数之间的关系。
4、NUMERICNUMERIC数据类型与DECIMAL数据类型完全相同。
注意:SQL Server 为了和前端的开发工具配合,其所支持的数据精度默认最大为28位。
但可以通过使用命令来执行程序以启动SQL Server,可改变默认精度。
命令语法如下:SQLSERVR[/D master_device_path][/P precisim_leve1]例4-4: 用最大数据精度38 启动SQL Serversqlservr /d c:\ Mssql2000\data\ /p38/*在使用了/P 参数后,如果其后没有指定具体的精度数值,则默认为38 位./*三、二进制数据类型1、BINARYBINARY 数据类型用于存储二进制数据。
其定义形式为BINARY( n), n 表示数据的长度,取值为1 到8000 。
在使用时必须指定BINARY 类型数据的大小,至少应为1 个字节。
BINARY 类型数据占用n+4 个字节的存储空间。
在输入数据时必须在数据前加上字符“0X”作为二进制标识,如:要输入“abc ”则应输入“0xabc ”。
若输入的数据过长将会截掉其超出部分。
若输入的数据位数为奇数,则会在起始符号“0X ”后添加一个0,如上述的“0xabc ”会被系统自动变为“0x0abc”。
2、VARBINARYVARBINARY 数据类型的定义形式为VARBINARY(n)。
它与BINARY 类型相似,n 的取值也为1 到8000,若输入的数据过长,将会截掉其超出部分。
不同的是VARBINARY数据类型具有变动长度的特性,因为VARBINARY数据类型的存储长度为实际数值长度+4个字节。
当BINARY 数据类型允许NULL 值时,将被视为VARBINARY数据类型。
一般情况下,由于BINARY 数据类型长度固定,因此它比VARBINARY 类型的处理速度快。
四、逻辑数据类型BIT: BIT数据类型占用1 个字节的存储空间,其值为0 或1 。
如果输入0 或1 以外的值,将被视为1。
BIT 类型不能定义为NULL 值(所谓NULL 值是指空值或无意义的值)。
五、字符数据类型字符数据类型是使用最多的数据类型。
它可以用来存储各种字母、数字符号、特殊符号。
一般情况下,使用字符类型数据时须在其前后加上单引号’或双引号”。
1 CHARCHAR 数据类型的定义形式为CHAR[ (n)。
以CHAR 类型存储的每个字符和符号占一个字节的存储空间。
n 表示所有字符所占的存储空间,n 的取值为1 到8000,即可容纳8000 个ANSI 字符。
若不指定n 值,则系统默认值为1。
若输入数据的字符数小于n,则系统自动在其后添加空格来填满设定好的空间。
若输入的数据过长,将会截掉其超出部分。
2、NCHARNCHAR 数据类型的定义形式为NCHAR[ (n)]。
它与CHAR 类型相似。
不同的是NCHAR 数据类型n 的取值为 1 到4000。
因为NCHAR 类型采用UNICODE 标准字符集(CharacterSet)。
UNICODE 标准规定每个字符占用两个字节的存储空间,所以它比非UNICODE 标准的数据类型多占用一倍的存储空间。
使用UNICODE 标准的好处是因其使用两个字节做存储单位,其一个存储单位的容纳量就大大增加了,可以将全世界的语言文字都囊括在内,在一个数据列中就可以同时出现中文、英文、法文、德文等,而不会出现编码冲突。
3、VARCHARVARCHAR数据类型的定义形式为VARCHARn)。
它与CHAR 类型相似,n 的取值也为1 到8000,若输入的数据过长,将会截掉其超出部分。
不同的是,VARCHAR数据类型具有变动长度的特性,因为VARCHAR数据类型的存储长度为实际数值长度,若输入数据的字符数小于n ,则系统不会在其后添加空格来填满设定好的空间。
一般情况下,由于CHAR 数据类型长度固定,因此它比VARCHAR 类型的处理速度快。
4、NVARCHARNVARCHAR数据类型的定义形式为NVARCHAR[ (n) ]。
它与VARCHAR 类型相似。
不同的是,NVARCHAR数据类型采用UNICODE 标准字符集(Character Set), n 的取值为1 到4000。
六、文本和图形数据类型这类数据类型用于存储大量的字符或二进制数据。
1、TEXTTEXT数据类型用于存储大量文本数据,其容量理论上为1 到2的31次方-1 (2, 147,483, 647)个字节,在实际应用时需要视硬盘的存储空间而定。
SQL Server 2000 以前的版本中,数据库中一个TEXT 对象存储的实际上是一个指针,它指向一个个以8KB (8192 个字节)为单位的数据页(Data Page)。
这些数据页是动态增加并被逻辑链接起来的。
在SQL Server 2000 中,则将TEXT 和IMAGE 类型的数据直接存放到表的数据行中,而不是存放到不同的数据页中。
这就减少了用于存储TEXT 和IMA- GE 类型的空间,并相应减少了磁盘处理这类数据的I/O 数量。
2 NTEXTNTEXT数据类型与TEXT.类型相似不同的,是NTEXT 类型采用UNICODE 标准字符集(Character Set), 因此其理论容量为230-1(1, 073, 741, 823)个字节。
3 IMAGEIMAGE 数据类型用于存储大量的二进制数据Binary Data。
其理论容量为2的31次方-1(2,147,483,647)个字节。
其存储数据的模式与TEXT 数据类型相同。
通常用来存储图形等OLE Object Linking and Embedding,对象连接和嵌入)对象。
在输入数据时同BINARY 数据类型一样,必须在数据前加上字符“0X”作为二进制标识七、日期和时间数据类型1 DATETIMEDATETIME 数据类型用于存储日期和时间的结合体。
它可以存储从公元1753 年 1 月1 日零时起到公元9999 年12 月31 日23 时59 分59 秒之间。