SQLServer数据类型⼀览表
·Binary [(n)]
·Varbinary [(n)]
·Char [(n)]
·Varchar[(n)]
·Nchar[(n)] 存储unicode编码的固定长度字符
·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 固定长度(最多为8K)的⼆进制数据类型。
  binary [ ( n ) ]
固定长度的 n 个字节⼆进制数据。N 必须从 1 到 8,000。存储空间⼤⼩为 n+4 字节。
·varbinary 可变长度(最多为8K)的⼆进制数据类型。
  varbinary [ ( n ) ]
n 个字节变长⼆进制数据。n 必须从 1 到 8,000。存储空间⼤⼩为实际输⼊数据长度 +4个字节,⽽不是 n 个字节。输⼊的数据长度可能为 0 字节。在 SQL-92 中 varbinary 的同义词为 binary varying。
·image ⽤来存储长度超过 8 KB 的可变长度的⼆进制数据。
除⾮数据长度超过 8KB,否则⼀般宜⽤ varbinary 类型来存储⼆进制数据。⼀般⽤来存放 Microsoft Word ⽂档、Microsoft Excel 电⼦表格、包含位图的图像、图形交换格式 (GIF) ⽂件和联合图像专家组 (JPEG) ⽂件。
在 Image 数据类型中存储的数据是以位字符串存储的,不是由 SQL Server 解释的,必须由应⽤程序来解释。例如,应⽤程序可以使⽤BMP、TIEF、GIF 和 JPEG 格式把数据存储在 Image 数据类型中。
2、字符数据类型
字符数据由字母、符号和数字组成。使⽤ char、varchar 和 text 数据类型存储。
·char 固定长度(不超过 8 KB)的字符数据类型。
char[(n)]
长度为 n 个字节的固定长度且⾮ Unicode 的字符数据。n 必须是⼀个介于 1 和 8,000之间的数值。存储⼤⼩为 n 个字节。char 在 SQL-92 中的同义词为 character。
·varchar 可变长度(不超过 8 KB)的字符数据类型。
varchar[(n)]
长度为 n 个字节的可变长度且⾮ Unicode 的字符数据。n 必须是⼀个介于 1 和 8,000之间的数值。存储⼤⼩为输⼊数据的字节的实际长度,⽽不是 n 个字节。所输⼊的数据字符长度可以为零。varchar 在SQL-92 中的同义词为char varying 或character varying。
·text 数据类型的列可⽤于存储⼤于 8KB 的 ASCII 字符。
例如,由于 HTML ⽂档均由 ASCII 字符组成且⼀般长于 8KB,所以⽤浏览器查看之前应在 SQL Server 中存储在 text
列中。
3、Unicode数据类型
使⽤ Unicode 数据类型,列可存储由 Unicode 标准定义的任何字符,包含由不同字符集定义的所有字符。Unicode 数据使⽤ SQL Server 中的 nchar、varchar 和 ntext 数据类型进⾏存储。
·nchar 固定长度(⾄多为 4000 个 Unicode 字符)的Unicode数据类型。
nchar(n)
包含n 个字符的固定长度Unicode字符数据。n的值必须介于1与4,000之间。存储⼤⼩为n字节的两倍。nchar 在 SQL-92中的同义词为 national char 和 national character。
·nvarchar ( varchar ) 是可变长度 Unicode 数据的数据类型。
nvarchar(n)
包含 n 个字符的可变长度 Unicode 字符数据。n 的值必须介于 1 与 4,000 之间。
字节的存储⼤⼩是所输⼊字符个数的两倍。所输⼊的数据字符长度可以为零。nvarchar在 SQL-92 中的同义词为 national char varying 和 national character varying。
·ntext 当列中任意项超过 4000 个 Unicode字符时使⽤。
4、⽇期和时间数据类型
⽇期和时间数据由有效的⽇期或时间组成。例如,有效⽇期和时间数据既包括"4/01/98 12:15:00:00:00 PM",也包括"1:28:29:15:01 AM 8/17/98"。在 Microsoft® SQL Server™ 2000 中,⽇期和时间数据使⽤ datetime 和smalldatetime 数据类型存储。
·datetime
数据类型存储从 1753 年 1 ⽉ 1 ⽇⾄ 9999 年 12 ⽉ 31 ⽇的⽇期。
varchar2最大长度
每个数值要求 8 个字节的存储空间。
·smalldatetime
数据类型存储从 1900 年 1 ⽉ 1 ⽇⾄ 2079 年 6 ⽉ 6 ⽇的⽇期。
每个数值要求 4 个字节的存储空间。
·设置⽇期
格式的命令如下:
Set DateFormat {format | @format _var|
其中,format | @format_var 是⽇期的顺序。有效的参数包括 MDY、DMY、YMD、YDM、MYD 和 DYM。在默认情况下,⽇期格式为MDY。
5、数字数据类型
数字数据只包含数字。数字数据包括正数、负数、⼩数、分数和整数。
·整型数据
整型数据由负整数或正整数组成,如 -15、0、5 和 2509。在 Microsoft® SQL Server™ 2000 中,整型数据使⽤bigint、int、smallint 和 tinyint 数据类型存储。bigint 数据类型可存储的数字范围⽐ int 数据类型⼴。int 数据类型⽐smallint 数据类型的存储范围⼤,⽽ smallint 的数值范围⼜⽐tinyint 类型⼤。
bigint 存储从-2^63 (-9223372036854775808)到2^63-1(9223372036854775807) 范围内的数字。存储⼤⼩为 8个字节。
int 存储范围是-2,147,483,648⾄2,147,483,647(每个值需4个字节的存储空间)。
smallint 存储范围只有 -32,768 ⾄ 32,767(每个值需 2 个字节的存储空间)。
tinyint 只能存储 0 ⾄ 255 范围内的数字(每个值需 1 个字节的存储空间)。
·⼩数数据
Decimal 数据包含存储在最⼩有效数上的数据。在 SQL Server中,⼩数数据使⽤ decimal 或 numeric 数据类型存储。存储 decimal 或 numeric 数值所需的字节数取决于该数据的数字总数和⼩数点右边的⼩数位数。例如,存储数值
19283.29383 ⽐存储 1.1 需要更多的字节。在 SQL Server中,numeric 数据类型等价于 decimal 数据类型。
·近似数字数据
近似数字(浮点)数据包括按⼆进制计数系统所能提供的最⼤精度保留的数据。在 SQL Server 中,近似数字数据以 float 和 real 数据类型存储。例如,分数 1/3 表⽰成⼩数形式为 0.333333(循环⼩数),该数字不能以近似⼩数数据精确表⽰。因此,从 SQL Server 获取的值可能并不准确代表存储在列中的原始数据。⼜如以 .3, .6, .7 结尾的浮点数均为数字近似值。
6、货币数据类型
货币数据表⽰正的或负的货币值。在 Microsoft® SQL Server™ 2000 中使⽤ money 和 smallmoney 数据类型存储货币数据。货币数据存储的精确度为四位⼩数。
·money 存储范围是 -922,337,203,685,477.5808 ⾄+922,337,203,685,477.5807
(需 8 个字节的存储空间)。
·smallmoney 存储范围是 -214,748.3648 ⾄ 214,748.3647(需 4 个字节的存储空间)。
·如果数值超过了上述范围,则可使⽤ decimal 数据类型代替。
7、特殊数据类型
特殊数据包括不能⽤前⾯所述的⼆进制、字符、Unicode、⽇期和时间、数字和货币数据类型表⽰的数据。
Microsoft® SQL Server™ 2000 包含四种特殊数据类型:
·timestamp
⽤于表⽰ SQL Server 在⼀⾏上的活动顺序,按⼆进制格式以递增的数字来表⽰。当表中的⾏发⽣变动
时,⽤从 @@DBTS 函数获得的当前数据库的时间戮值来更新时间戮。timestamp 数据与插⼊或修改数据的⽇期和时间⽆关。若要⾃动记录表中数据更改的时间,使⽤ datetime 或 smalldatetime 数据类型记录事件或触发器。SQL Serve 中 rowversion 是timestamp 的同义词。
·bit
bit 数据类型只能包括 0 或 1。可以⽤ bit 数据类型代表 TRUE 或 FALSE、YES 或 NO。例如,询问客户是否为初次访问的问题可存储在 bit 列中。
·uniqueidentifier
以⼀个 16 位的⼗六进制数表⽰全局唯⼀标识符 (GUID)。当需要在多⾏中唯⼀标识某⼀⾏时可使⽤ GUID。例如,可使⽤unique_ identifier 数据类型定义⼀个客户标识代码列,以编辑公司来⾃多个国家/地区的总的客户名录。
·sql_variant
⼀种存储 SQL Server 所⽀持的各种数据类型(text、ntext、timestamp 和 sql_variant 除外)值的数据类型。
·table
⼀种特殊的数据类型,存储供以后处理的结果集。table 数据类型只能⽤于定义 table 类型的局部变量或⽤户定义函数的返回值。
·⽤户定义
允许使⽤⽤户定义数据类型,例如,product_code 可设计为基于 char 数据类型的两个⼤写字母后跟 5 位供应商号码的格式。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。