`

转:Sql Server各个数据类型解析

阅读更多

转载链接:http://www.cnblogs.com/andy_tigger/archive/2011/08/21/2147745.html

转载内容:

1 bit:整型
bit数据类型是整型,其值只能是0、1或空值。这种数据类型用于存储只有两种可能值的数据,如Yes 或No、True 或False 、On 或Off.  
注意:很省空间的一种数据类型,如果能够满足需求应该尽量多用。

2 tinyint:整型
tinyint 数据类型能存储从0到255 之间的整数。它在你只打算存储有限数目的数值时很有用。这种数据类型在数据库中占用1 个字节.
注意:如果bit类型太单调不能满足您的需求,您可以考虑用tinyint类型,因为这个类型相对也是比较安全的,不接受恶意脚本内容的嵌入。

3 smallint:整型 
smallint 数据类型可以存储从- 2的15次幂(-32768)到2的15次幂(32767)之间的整数。这种数据类型对存储一些常限定在特定范围内的数值型数据非常有用。这种数据类型在数据库里占用2 字节空间.
注意:如果tinyint类型太单调不能满足您的需求,您可以考虑用smallint类型,因为这个类型相对也是比较安全的,不接受恶意脚本内容的嵌入。

4 int:整型
int 数据类型可以存储从- 2的31次幂(-2147483648)到2的31次幂 (2147483 647)之间的整数。存储到数据库的几乎所有数值型的数据都可以用这种数据类型。这种数据类型在数据库里占用4个字节.
注意:如果smallint也不能够满足您的需求,您可以考虑用长度更大的int类型。

5 decimal:精确数值型
decimal 数据类型能用来存储从-10的38次幂-1到10的38次幂-1的固定精度和范围的数值型数据。使用这种数据类型时,必须指定范围和精度。 范围是小数点左右所能存储的数字的总位数。精度是小数点右边存储的数字的位数

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

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

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

9 float:近似数值型           
float 数据类型是一种近似数值类型,供浮点数使用。说浮点数是近似的,是因为在其范围内不是所有的数都能精确表示。浮点数可以是从-1.79E+308到1.79E+308 之间的任意数

10 real:近似数值型          
real 数据类型像浮点数一样,是近似数值类型。它可以表示数值在-3.40E+38到3.40E+38之间的浮点数

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

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

13 cursor:特殊数据型
cursor 数据类型是一种特殊的数据类型,它包含一个对游标的引用。这种数据类型用在存储过程中,而且创建表时不能用

14 timestamp:特殊数据型         
timestamp 数据类型是一种特殊的数据类型,用来创建一个数据库范围内的唯一数码。 一个表中只能有一个timestamp列。每次插入或修改一行时,timestamp列的值都会改变。尽管它的名字中有“time”, 但timestamp列不是人们可识别的日期。在一个数据库里,timestamp值是唯一的 

15 Uniqueidentifier:特殊数据型         
Uniqueidentifier数据类型用来存储一个全局唯一标识符,即GUID。GUID确实是全局唯一的。这个数几乎没有机会在另一个系统中被重建。可以使用NEWID 函数或转换一个字符串为唯一标识符来初始化具有唯一标识符的列 .

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

varchar 字符型varchar数据类型,同char类型一样,用来存储非统一编码型字符数据。与char 型不一样,此数据类型为变长。当定义一列为该数据类型时,你要指定该列的最大长度。 它与char数据类型最大的区别是,存储的长度不是列长,而是数据的长度   .

17 text:字符型             
text 数据类型用来存储大量的非统一编码型字符数据。这种数据类型最多可以有231-1或20亿个字符.

18 nchar:统一编码字符型  
nchar 数据类型用来存储定长统一编码字符型数据。统一编码用双字节结构来存储每个字符,而不是用单字节(普通文本中的情况)。它允许大量的扩展字符。此数据类型能存储4000种字符,使用的字节空间上增加了一倍.

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

20 ntext:统一编码字符型   
ntext 数据类型用来存储大量的统一编码字符型数据。这种数据类型能存储230 -1或将近10亿个字符,且使用的字节空间增加了一倍

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

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

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

 

注意:
1) 对于数值型数据类型,宽度(scale)是指存储在小数点后的数字位数,而精度(precision)是指能存储的包含小数点在内的所有数字位数。
2) money和small money的存储宽度为4。
3) 时间戳列值在每一行更新时系统自动更新,时间戳列不能是关键字或关键字的一部分。
4) 唯一标识数据类型不能使用算术操作符(如+、-等),这种数据类型只能使用相等比较操作。Unicode是所有字符集的一致存储数据的标准。它要使用两倍于非Unicode数据存储的存储空间。

 

PS:个人只是转载了一部分,更多更详细的解析请查看原文

 

分享到:
评论

相关推荐

    深入解析sqlserver 2008 Microsoft SQL Server 2008 Internals

    《SQL Server 2008 Internals》是微软技术专家David Campbell作序的一本深入解析Microsoft SQL Server 2008内部机制的专业书籍。由Paul S. Randal、Kimberly L. Tripp、Conor Cunningham、Adam Machanic和Ben ...

    Sql Server解析Json

    本文将深入探讨 SQL Server 如何解析 JSON 数据,并详细介绍一种自定义函数 `dbo.parseJSON` 的实现细节。 #### 一、SQL Server 中的 JSON 支持概述 SQL Server 2016 及以后版本提供了内置的支持来处理 JSON 数据...

    SqlServer,Oracle数据类型,函数,导入导出对照

    标题和描述均聚焦于SQL Server与Oracle数据库管理系统中数据类型、函数以及导入导出操作的对比,这为我们提供了一个深入探讨这两个广泛使用的数据库平台之间差异的机会。以下是对这些知识点的详细解析: ### 数据...

    SQL Server数据导入SQLite工具

    总的来说,“SQL Server数据导入SQLite工具”是一个集成了解析、转换、导入和验证等多步骤的复杂系统。它简化了两个不同数据库系统之间的数据迁移,使开发者和管理员能够更便捷地在SQL Server和SQLite之间切换,满足...

    json转换为SQL server建表脚本

    例如,JSON对象的键将对应于表的列名,JSON值的类型将决定SQL字段的数据类型。对于嵌套的JSON对象,可能需要创建关联表并定义外键关系。 5. 自动化脚本生成:描述中提到的“默认处理最外层级”,意味着程序会自动...

    SQLServer20052008 XML数据类型操作

    根据给定的文件标题、描述、标签以及部分内容,本文将详细介绍如何在SQL Server 2005 和 2008 中操作XML数据类型,并简要介绍与之相关的C# XML操作方法。 ### 一、SQL Server 2005/2008 XML 数据类型操作 #### 1. ...

    SQL Server 2000完结篇系列之八:SQL Server 2000过程优化详解

    在SQL Server 2000这个经典版本中,数据库管理员和开发者经常面临性能优化的挑战。本篇将深入探讨SQL Server 2000过程优化的相关知识点,旨在帮助你提升数据库系统的运行效率。 1. **查询优化器**:SQL Server 2000...

    oracle与sql_server数据类型对应关系.doc

    《Oracle与SQL Server数据类型对应关系深度解析》 在数据库领域,Oracle与SQL Server作为业界广泛使用的两大数据库管理系统,各自拥有独特的数据类型体系。当在两者之间进行数据迁移、复制或整合时,理解并掌握其...

    SQL数据类型与C#数据类型转换

    本文旨在详细介绍SQL Server 2005中的数据类型与C#中的数据类型之间的映射关系。 #### 一、基本数据类型映射 1. **bigint**: 在SQL Server 2005中表示为`bigint`的数据类型,在C#中对应的类型是`long`或`System....

    SQL Server数据库开发实例解析完整版

    学习如何创建、修改和删除这些对象,以及数据类型、约束和存储过程的使用。 2. T-SQL语言:T-SQL(Transact-SQL)是SQL Server使用的扩展SQL语言,用于执行查询、数据更新、事务管理等操作。熟悉SELECT、INSERT、...

    sqljdbc4-4.0.jar

    三、"Cannot resolve com.microsoft.sqlserver:sqljdbc4:4.0"错误解析 描述中的错误信息"Cannot resolve com.microsoft.sqlserver:sqljdbc4:4.0"通常意味着在构建Java项目时,Maven或Gradle等构建工具无法找到对应的...

    sql server 2005数据类型说明

    以下是对部分关键数据类型及其特性的深入解析: ### 1. 字符串类型 #### `char` 和 `varchar` - `char` 是固定长度的字符类型,长度范围为1到8000个字符。当指定长度超过8000时,系统会自动将其转换为`varchar...

    Sql语法转换为Oracle语法

    6. 数据类型:两者的数据类型有差异,例如SQL Server的 `NVARCHAR` 对应Oracle的 `NCLOB`,`DATE` 在Oracle中包含了时间信息,而在SQL Server中则不包含。 7. 连接操作:SQL Server使用 `JOIN ON`,Oracle也支持...

    SqlServer表结构转oracle表结构

    1. **数据类型转换**:SQL Server和Oracle的数据类型有所不同。例如,SQL Server的`varchar2`对应Oracle的`VARCHAR2`,`int`对应`NUMBER`(在无小数部分时),`datetime`对应`TIMESTAMP`。在转换过程中,需要将SQL ...

    SQL SERVER的数据类型综述

    Image 数据类型则用于存储大对象(LOB)的二进制数据,它不被SQL Server直接解析,需要应用程序进行处理。 接着,字符数据类型包括 Char、Nchar、Varchar 和 Nvarchar。Char 是非Unicode的固定长度字符数据,每个...

    java读取sqlserver image字段.docx

    SQL Server 提供了`IMAGE`类型来存储大容量的二进制数据。然而,如何有效地从数据库中读取这些二进制数据,并将其转换为可用的格式,如图像文件,则是一个常见的技术问题。本文将详细介绍如何使用Java语言读取SQL ...

    sqljdbc4-4.0.zip

    "jdbc:sqlserver://localhost:1433;databaseName=myDB", "username", "password"); ``` 这里,`com.microsoft.sqlserver.jdbc.SQLServerDriver`是JDBC驱动的类名,`jdbc:sqlserver://localhost:1433;databaseName=...

    SqlServer转换Oracle.docx

    本文将围绕《SqlServer转换Oracle.docx》文档中的关键知识点进行详细解析,帮助读者更好地理解和掌握SQL Server到Oracle迁移过程中的技术要点。 #### 二、连接字符串与数据源处理 在文档中提到了一种获取连接字符串...

    邹健的SQLserver 代码

    《邹健的SQLserver代码解析》 SQL Server是一款由微软公司开发的关系型数据库管理系统,它在企业级数据存储、管理和分析方面发挥着重要作用。而邹健,作为一个在SQL Server领域有着深入研究的专业人士,他的代码...

Global site tag (gtag.js) - Google Analytics