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范围内的所有整数。
(4).tinyint
每个tinyint类型的数据占用了一个字节的存储空间,可以表示0~255范围内的所有整数.

2.浮点数据类型
浮点数据类型存储十进制小数,用于表示浮点数值数据的大致数值数据类型。浮点数据为近似值;
浮点数值的数据则Sql Server中采用了只入不舍的方式进行存储,即当且仅当要舍入的数是一个非零数时,对其保留数字部分的最低有效位上加1,并进行必要的近位。
(1).real
可以存储正的或者负的十进制数值,它的存储范围从-3.40E+38~-1.18E-38、0以及1.18E-38~3.40E+38.每个real类型的数据占用4个字节的存储空间。
(2)float[(n)]
其中为用于存储float数值尾数的位数(以科学计数法表示),因此可以确定精度和存储大小。如果指定了n它必须是介于1和53之间的某个值。n的默认值为53.
其范围从-1.79E+308~-2.23E-308、0以及2.23E+308~1.79E-308。如果不指定数据类型float的长度,它占用8个字节的存储空间。float数据类型可以写成float(n)的形式,
n为指定float数据的精度,n为1~53之间的整数值。
当n取1~24时,实际上定义了一个real类型的数据,系统用4个自己存储它。当n取25~53时,系统认为其是float类型,用8个字节存储它。
(3).decimal[(p[,s])]和numeric[(p[,s])
带固定精度和小数位数的数值数据类型。使用最大精度时,有效值从-10^38+1~10^38-1。numeric在功能上等价于decimal。
p(精度)指定了最多可以存储十进制数字的总位数,包括小数点左边和右边的位数,该精度必须是从1到最大精度38之间的值,默认精度为18.
s(小数位数)指定小数点右边可以存储的十进制数字的最大位数,小数位数必须是从0到p之间的值,仅在指定精度后才可以指定小数的位数。默认小数位数是0;
因此,0<=s<=p。最大存储大小基于精度而变化。例如:decimal(10,5)表示共有10位数,其中整数5位,小数5位。

3.字符数据类型
字符数据类也是Sql Server中最常用的数据类型之一,用来存储各种字符,数字符号和特殊符号。在使用字符数据类型时,需要在其前后加上英文单引号或者双引号。
(1)char(n)
当用char数据类型存储数据时,每个字符和符号占用一个字节存储空间,n表示所有字符所占的存储空间,n的取值为1~8000。
如不指定n的值,系统默认n的值为1。若输入数据的字符串长度小于n,则系统自动在其后添加空格来填满设定好的空间;若输入的数据过长,则会截掉其超出部分。
(2)varhcar(n|max)
n为存储字符的最大长度,其取值范围是1~8000,但可根据实际存储的字符数改变存储空间,max表示最大存储大小是2的31次方-1个字节。
存储大小是输入数据的实际长度加2个字节。所输入数据的长度可以为0个字符。如varchcar(20),则对应的变量最多只能存储20个字符,不够20个字符的按实际存储。
(3)nchar(n)
n个字符的固定长度Unicode字符数据。n值必须在1~4000之间(含),如果没有数据定义的或变量声明语句中指定n,默认长度为1。
此数据类型采用Unicode字符集,因此每一个存储单位占两个字节,可将全世界文字囊括在内(当然除了部分生僻字)。
(4)nvarchar(n|max)
与varchar类似,存储可变长度Unicode字符数据。n值必须在1~4000之间(含),如果没有数据定义的或变量声明语句中指定n,默认长度为1。
max指最大存储大小为2的31次方-1字节。存储大小是输入字符个数的两倍+2个字节。所输入的数据长度可以为0个字符.

4.日期和时间数据类型
(1).date
存储用字符串表示的日期数据,可以表示0001-01-01~9999-12-31(公元元年1月1日到公元9999年12月31日)间的任意日期值。数据格式为“YYYY-MM-DD”:
YYYY:表示年份的四位数字,范围为0001~9999;
MM:表示指定年份中月份的两位数字,范围为01~12;
DD:表示指定月份中某一天的两位数字,范围为01~31(最高值取决于具体月份)
该数据类型占用3个字节的空间。
(2).time
以字符串形式记录一天的某个时间,取值范围为00:00:00.0000000~23:59:59.9999999,数据格式为“hh:mm:ss[.nnnnnnn]”:
hh:表示小时的两位数字,范围为0~23。
mm:表示分钟的两位数字,范围为0~59。
ss:表示秒的两位数字,范围为0~59。
n*是0~7为数字,范围为0~9999999,它表示秒的小部分.
time值在存储时占用5个字节的空间。
(3).datetime
用于存储时间和日期数据,从1753年1月1日到9999年12月31日,默认值为1900-01-01 00:00:00,当插入数据或在其它地方使用时,需用单引号或双引号括起来。
可以使用“/”、“-”和“.”作为分隔符。该类型数据占用8个字节的空间。
(4).datetime2
datetime的扩展类型,其数据范围更大,默认的最小精度最高,并具有可选的用户定义的精度。默认格式为:YYYY-MM-DD hh:mm:ss[.fractional seconds],
日期的存取范围是0001-01-01~9999-12-31(公元元年1月1日到公元9999年12月31日).
(5).smalldatetime
smalldatetime类型与datetime类型相似,只是其存储范围是从1900年1月1日到2079年6月6日,当日期时间精度较小时,刻印使用smalldatetime,该类型数据占用4个字节的存储空间。
(6).datetimeoffset
用于定义一个采用24小时制与日期相组合并可识别时区的时间。默认格式是:“YYYY-MM-DD hh:mm:ss[.nnnnnnn][{+|-}hh:mm]”:
hh:两位数,范围是-14~14
mm:两位数,范围为00~59;
这里hh是时区偏移量,该类型数据中保存的是世界标准时间(UTC)值,eg:要存储北京时间2011年11月11日12点整,
存储时该值将是2011-11-11 12:00:00+08:00,因为北京处于东八区,比UTC早8个小时。存储该数据类型数据时默认占用10个字节大小的固定存储空间.

5.文本和图形数据类型
(1).text
用于存储文本数据,服务器代码页中长度可变的非Unicode数据,最大长度为2的31次方-1(2147 483 647)个字符。当服务器代码页使用双字节字符时,存储仍是2147 483 647字节。
(2)ntext
与text类型作用相同,为长度可变的非Unicode数据,最大长度为2的30次方-1(1073 741 283)个字符。存储大小是所输入字符个数的两倍(以字节为单位).
(3).image
长度可变的二进制数据,范围为:0~2的31次方-1个字节。用于存储照片、目录图片或者图画,容量也是2147 483 647个字节,
由系统根据数据的长度自动分配空间,存储该字段的数据一般不能使用insert语句直接输入。

6.货币数据类型
(1).money
用于存储货币值,取值范围为正负922 337 213 685 477.580 8之间。money数据类型中整数部分包含19个数字,小数部分包含4个数字,
因此money数据类型的精度是19,存储时占用8个字节的存储空间。
(2).smallmoney
与money类型相似,取值范围为214 748.346 8之间,smallmoney存储时占用4个字节存储空间。输入数据时在前面加上一个货币符号,如人民币为¥或其它定义的货币符号。

7.位数据类型
bit称为位数据类型,只取0或1为值,长度1字节。bit值经常当作逻辑值用于判断true(1)或false(0),输入非0值时系统将其替换为1。

8.二进制数据类型
(1)binary(n)
长度为n个字节的固定长度二进制数据,其中n是从1~8000的值。存储大小为n个字节。在输入binary值时,必须在前面带0x,
可以使用0xAA5代表AA5,如果输入数据长度大于定于的长度,超出的部分会被截断。
(2).varbinary(n|max)
可变长度二进制数据。其中n是从1~8000的值,max指示存储大小为2的31次方-1字节。存储大小为所输入数据的实际长度+2个字节。
在定义的范围内,不论输入的时间长度是多少,binary类型的数据都占用相同的存储空间,即定义时空间,而对于varbinary类型的数据,在存储时实际值的长度使用存储空间.

SQLServer之数据类型的更多相关文章

  1. mssql sqlserver text数据类型专题说明

    摘要: 下文分享text数据类型的简介及处理text数据类型所涉及的函数,如下所示: text 数据类型简介: mssql sqlserver 常用数据类型简介 mssql sqlserver tex ...

  2. mssql sqlserver xml数据类型专题

    摘要: 下文将详细讲述sql server xml数据类型的相关知识,如下所示: 实验环境: sql server 2008 R2 xml数据类型简介: mssql sqlserver xml数据类型 ...

  3. [Oracle] Oracle和SQLServer的数据类型比较

    类型名称 Oracle SQLServer 比较 字符数据类型 CHAR CHAR 都是固定长度字符资料但oracle里面最大度为2kb,SQLServer里面最大长度为8kb 变长字符数据类型 VA ...

  4. SQLServer的数据类型

    第一大类:整数数据 bit:bit数据类型代表0,1或NULL,就是表示true,false.占用1byte.int:以4个字节来存储正负数.可存储范围为:-2^31至2^31-1.smallint: ...

  5. sqlserver常用数据类型(精炼版)

    一:系统数据类型 2.浮点数据类型 3.字符数据类型 4.日期和时间数据类型 5.文本和图形数据类型 6.货币数据类型 7.位数据类型 8.二进制数据类型 9.其他数据类型 二:自定义数据类型   数 ...

  6. SQLServer之数据类型解析

    数字 int.bigint.smallint 和 tinyint 使用整数数据的精确数字数据类型. 数据类型 范围 存储 tinyint 0 到 255. 1 字节 smallint -2^15 (- ...

  7. mssql sqlserver null数据类型专题

    摘要: 下文将详细讲述sql server NULL(空值)的相关知识,如下所示: 实验环境: sql server 2008 R2 NULL(空值)简介: mssql sqlserver null数 ...

  8. sqlserver C# 数据类型对照表(转载)

    数据库中字段类型对应C#中的数据类型: 数据库                 C#程序 int int32 text string bigint int64  或 longbinary System ...

  9. SqlServer自定义数据类型

    定义:用户自己设计并实现的数据类型就称为用户自定义数据类型,即使这些数据类型基于系统数据类型. 创建用户自定义数据类型时,必须提供三个数: 数据类型的名称 所基于的系统数据类型 数据类型的可空性(是否 ...

随机推荐

  1. Apache 无法启动

    本人是做前端开发的,对后台程序不太熟悉,也就以前学过一点.net.但现在都忘记的差不多了.最近在公司,经理给了我一个管理工具dedecms,我刚开始看的时候完全不懂这是什么东西,之前都没听说过(本人见 ...

  2. HDU 2819 隐式二分图匹配

    http://acm.hdu.edu.cn/showproblem.php?pid=2819 这道题乍一看是矩阵变换题,估计用矩阵之类的也可以做 但是分析一下就可以知道 要凑成对角线都是1,题目允许行 ...

  3. HDU 4707 DFS

    Problem Description One day, Lin Ji wake up in the morning and found that his pethamster escaped. He ...

  4. php使用文件缓存

    使用php读取mysql中的数据很简单,数据量不大的时候,mysql的性能还是不错的.但是有些查询可能比较耗时,这时可以把查询出的结果,缓存起来,减轻mysql的查询压力. 缓存的方法有几种:使用me ...

  5. HTML之文本框关键字显示

    文本框默认显示 "请输入关键字",当鼠标点击输入框的时候, "请输入关键字"这几个字消失,移出文本框又显示出来 <!DOCTYPE html> &l ...

  6. Objective C 快速入门学习三

    1.数据类型 和C语言基本一样. 有一个特别数据类型id,可以储存任何类型的对象,它是实现多态和动态绑定的基础. Objective-C 2.程序结构 Objective-C和C的程序结构一模一样,具 ...

  7. jquery验证手机号码和固定电话号码

    <pre name="code" class="javascript"> //验证手机号码或者电话号码 function checkContactN ...

  8. 用Kibana和logstash快速搭建实时日志查询、收集与分析系统

    Logstash是一个完全开源的工具,他可以对你的日志进行收集.分析,并将其存储供以后使用(如,搜索),您可以使用它.说到搜索,logstash带有一个web界面,搜索和展示所有日志. kibana ...

  9. 一步步搭建docker私有仓库并从私有仓库中下载镜像

    一步步搭建docker私有仓库 #下载镜像 docker pull registry#查看镜像 docker images #运行私有仓库,指定端口和数据卷 docker run -d -p : -v ...

  10. Java集合中Set的常见问题及用法

    在这里演示的案例是衔接Java集合中的List(点击查看)那篇博文的,本节我们学习的Set的用法. Set是Collection的一个重要的子接口,Set中的元素是无序排列的,并且元素不可以重复,被称 ...