在 SELECT 的查询过程和查询结果中,每个列、变量、表达式和参数都具有一个相关的数据类型。数据类型用于指定某个对象可保存的数据的类型。

  SQL Server系统的数据类型主要有:数值类型、日期和时间类型、字符类型、其它数据类型。

一、数值类型

  根据取值范围的不同,数值型可以分为整数型、非整数型、布尔型。数值型也可以根据其精度分为精确数字型、近似数字型。

1. 整数型

(1)bigint :长整型,取值范围从-2^63到2^63-1,占用8个字节。

(2)int :整型,取值范围从-2^31到2^31-1,占用4个字节。

(3)smallint :短整型,取值范围从-2^15到2^15-1,占用2个字节。

(4)tinyint :微整型,取值范围从0到255,占用1个字节。
2. 非整数型

(1)decimal 和 numeric,带固定精度和小数位的数据数据类型。

(2)money :货币型,占8个字节,可以有4位小数。

(3)smallmoney,占4个字节,可以有4位小数。

(4)float:多精度浮点型,占用的字节根据其小数的位数而定。

(5)real:单精度浮点型,占用4个字节。

3. 布尔型

(1)bit,取值为0、1、NULL三者之一。字符串值 TRUE 和 FALSE 可以转换为以下 bit 值:TRUE 转换为 1,FALSE 转换为 0。

二、日期和时间类型

1. 日期时间型

(1)datetime :日期范围从1753年1月1日到9999年12月31日,精确到3.33毫秒,占用8个字节。

(2)smalldatetime :日期范围从1900年1月1日到2079年6月6日,精确到分钟,占用4个字节。

(3)datetimeoffset :日期范围从公元元年1月1日到9999年12月31日,精确到100纳秒,并且可以指定时区偏移量,占用10个字节。自SQL Server 2008引入。

(4)datetime2 :日期范围从公元元年1月1日到9999年12月31日,精确到100纳秒,占用6至8个字节。自SQL Server 2008引入。

2. 日期型

(1)date :日期范围从公元元年1月1日到9999年12月31日,精确到1天,占用3个字节。自SQL Server 2008引入。

3. 时间型

(1)time :精确到100纳秒,并且可以指定时区偏移量,占用5个字节。自SQL Server 2008引入。

说明:datetime实际上是由2部分组成。第1部分是一个4字节的整型,保存了自基准日期以来的日期的差值;第2部分是一个4字节的整型,保存了自午夜开始的累积的毫秒数。

三、字符类型

1. 字符串类型

(1)char :固定长度字符串型,每个字符占1个字节,最大8060个字节。

(2)varchar :可变长度字符串型。

(3)text :可变长度字符类型。

2. Unicode字符串类型

(1)nchar :固定长度Unicode字符串型,每个Unicode字符占2个字节。

(2)nvarchar :可变长度Unicode字符串型。

(3)ntext :可变长度Unicode字符类型,最大2^31-1个字节。

3. 二进制字符串类型

(1)binary :固定长度二进制数据类型

(2)varbinary :长度可变的二进制数据类型。

(3)image :长度可变的二进制数据类型。

注意:在 SQL Server 的未来版本中将删除 ntext、text 和 image 数据类型,请改用 nvarchar(max)、varchar(max) 和 varbinary(max)。

四、其它数据类型 (1)cursor: 游标。

(2)timestamp:时间戳,占用8个。通常用于行版本控制。

(3)uniqueidentifier :GUID类型,占16个字节。

  还有hierarchyid、sql_variant、xml、table等数据类型。
注意:不推荐使用 timestamp 语法,后续版本的 Microsoft SQL Server 将删除该功能。

转自 “我们一起追过的MSSQL” 博客

SQL Server 数据类型简介的更多相关文章

  1. SQL Server游标 C# DataTable.Select() 筛选数据 什么是SQL游标? SQL Server数据类型转换方法 LinQ是什么? SQL Server 分页方法汇总

    SQL Server游标   转载自:http://www.cnblogs.com/knowledgesea/p/3699851.html. 什么是游标 结果集,结果集就是select查询之后返回的所 ...

  2. 为更好地设计数据库,重新整理sql server数据类型

    我们在平常开发过程中,在设计数据的时候,经常碰到数据类型选择的问题,为了更快,更合适地选择正确的数据类型,所以在这里做个总结. 分类 sql server 数据类型 c# 数据类型 描述 应用场景 字 ...

  3. SQL Server 数据类型映射

    SQL Server 和 .NET Framework 基于不同的类型系统. 例如,.NET Framework Decimal 结构的最大小数位数为 28,而 SQL Server 的 decima ...

  4. MySql和SQL Server数据类型 对比

    My Sql 数据类型 SQL Server 数据类型 Yes/No bit Smallint(字节型) tinyint Integer(长整型) int Real(单精度浮点型)    real F ...

  5. SQL Server数据类型与SDE库表sde_type对照表

    SDE_column_registry 表管理所有注册列. 警告:如果使用 SQL 界面更改列定义,SDE_column_registry 表中的记录将不会更新.这可能导致之后的任何数据导出失败. S ...

  6. SQL Server 数据类型映射 (ADO.NET)

    SQL Server 数据类型映射 (ADO.NET) .NET Framework 3.5 更新:November 2007 SQL Server 和 .NET Framework 基于不同的类型系 ...

  7. SQL Server数据类型

    转载:http://www.ezloo.com/2008/10/sql_server_data_type.html    数据类型是数据的一种属性,是数据所表示信息的类型.任何一种语言都有它自己所固有 ...

  8. SQL Server 数据类型 Decimal介绍

    为SQL Server 数据类型,属于浮点数类型.存储数据范围是: -1038~1038-1 的固定精度和小数位的数字.一个decimal类型的数据占用了2~17个字节.decimal数据类型在SQL ...

  9. 第三篇——第二部分——第一文 SQL Server镜像简介

    原文:第三篇--第二部分--第一文 SQL Server镜像简介 原文出处:http://blog.csdn.net/dba_huangzj/article/details/26951563 镜像是什 ...

随机推荐

  1. 【M33】将非尾端类设计为抽象类

    1.考虑下面的需求,软件处理动物,Cat与Dog需要特殊处理,因此,设计Cat和Dog继承Animal.Animal有copy赋值(不是虚方法),Cat和Dog也有copy赋值.考虑下面的情况: Ca ...

  2. Codeforces Round #338 (Div. 2) D. Multipliers 数论

    D. Multipliers 题目连接: http://codeforces.com/contest/615/problem/D Description Ayrat has number n, rep ...

  3. Visual Studio原生开发的10个调试技巧(一)

    最近碰巧读了Ivan Shcherbakov写的一篇文章,<11个强大的Visual Studio调试小技巧>.这篇文章只介绍了一些有关Visual Studio的基本调试技巧,但是还有其 ...

  4. 调研js模板引擎

    js模板引擎越来越多的得到应用,如今已经出现了几十种js模板引擎,国内各大互联网公司也都开发了自己的js模板引擎(淘宝的kissy template,腾讯的artTemplate,百度的baiduTe ...

  5. [MongoDB] Insert, find -- 1

    MongoDB is JSON Document: How to start MongoDB client: mongod //start the server mongo // start the ...

  6. iOS开发——UI篇Swift篇&UIWebView

    UIWebView //返回按钮事件 @IBAction func backButtonClick() { self.navigationController?.popViewControllerAn ...

  7. OpenRisc-67-OR的汇编

    引言 之前我们写过OR的裸机程序,写过基于OR的linux设备驱动程序,也反汇编过OR的机器码. 本小节,我们将通过一个简单的实验,对OR的汇编(指令集)做一个简单的梳理和測试. 1,基本思想 要想了 ...

  8. Cocos2dx 3.0 过渡篇(二十九)globalZOrder()与localZOrder()

    前天非常难得的加班到八点...为什么说难得呢?由于平时我差点儿就没加班过.六点下班后想走就走,想留就留.率直洒脱.不拘一格.尽显男儿本色.程序猿,就是这么自信! -----------这篇博客的标题本 ...

  9. 给指针malloc分配空间后就等于数组吗?

    首先回答这个的问题:严格的说不等于数组,但是可以认为它是个数组一样的使用而不产生任何问题.不过既然这样,那它应该算是个数组吧.所以,一般我们都用“动态数组”这种名字来称呼这种东西. 要讲清楚这个东西, ...

  10. 【优先队列】HDU 1873——看病找医生

    来源:点击打开链接 看路径记录的BFS之前,再看一遍优先队列的用法. 优先队列的排序规则可以用运算符重载的方式完成,通常意义下,应该用friend bool operator <进行重载. #i ...