某某茶叶有限公司欢迎您!
金沙棋牌在线 > 必赢棋牌官网 > SQL Server比较常见数据类型详解

SQL Server比较常见数据类型详解

时间:2020-02-07 19:56

数据表是由多个列组成,创建表时必须明确每个列的数据类型。以下列举SQL Server常见数据类型的使用规则。

数据表是由多个列组成,创建表时必须明确每个列的数据类型,以下列举SQL Server常见数据类型的使用规则,方便查阅。

   在SQL Server 中每个变量、参数、表达式等都有数据类型。系统提供的数据类型分为几大类,如表4-2 所示。

 

1.整数类型

int

 存储范围是-2,147,483,648到2,147,483,647之间的整数,主键列常设置此类型。

(每个数值占用 4字节)

smallint

 存储范围是-32,768 到 32,767 之间的整数,用来存储限定在特定数值范围内的数据。

(每个数值占用 2 字节)

tinyint

 存储范围是0到255 之间的整数,用来存储有限数目的数值。

(每个数值占用 1 字节)

bigint

 存储范围是-9,223,372,036,854,775,808到 9,223,372,036,854,775,807之间的整数。

(每个数值占用 8 字节)

bit

 值只能是0或1,当输入0以外的其他值时,系统均把它们当1看待。常用来表示真假、男女等二值选择。

 

    其中,BIGINT、 SQL_VARIANT 和TABLE 是SQL Server 2000 中新增加的3 种数据类型。下面分类讲述各种数据类型。

整数类型

2.数值类型

decimal(p,s)

 p 为精度(有效位),表示可储存数值的最大位数,小数点左右两侧都包括在内,默认最大位为38 位;s为小数位数,标识小数点后  面所能储存的最大位数,默认最小位为0位。如:123.45,则 p=5,s=2(内存大小取决于精度p)

numeric(p,s)

 numeric 和 decimal 是功能相同的,同是用来保存精度可变的浮点型数据。

float

 浮点型,它是一种近似数值类型,float(n)可储存1-53的可变精度浮点数值。

(内存大小取决于精度n)

money

 货币型,能存储从-9220 亿到 9220 亿之间的数据,精确到小数点后四位。

(每个数值占用 8 字节)

 

一、 整数数据类型

int

3.日期时间

datetime

 储存有效日期范围是1753/1/1~9999/12/31,可精准到3.33毫秒。(每个数值占用 8 字节)

smalldatetime

 储存有效日期范围是1900/1/1~2079/6/6,精确到分钟。(每个数值占用 4 字节)

 

    整数数据类型是最常用的数据类型之一。

 存储范围是-2,147,483,648到2,147,483,647之间的整数,主键列常设置此类型。(每个数值占用 4字节)

4.二进制类型

image

 虽然类型名为image, 但是并不意味着只能保存图片二进制数据,实际上它可以保存任何二进制数据。

 

    1、INT (INTEGER)

smallint

5.字符串类型

char(m)

 固定长度字符串,长度为 m。

nchar(m)

 国际化固定长度字符串,长度为 m。

varchar(m)

 可变长度字符串,最大长度为m,且必须是一个介于 1 和 8,000 之间的数值。

nvarchar(m)

 国际化可变长度字符串,最大长度为m, 且必须是一个介于 1 和 4,000 之间的数值。

text

 可变长度字符串,最大长度为 231 - 1个字节。

ntext

 国际化可变长度字符串,最大长度为 230 - 1个字符。

  国际化就是通用与标准。char、varchar、text储存的字符是基于ASCII编码格式,对于其他编码格式的字符可能会造成存储问题。Unicode字符集(万国码)就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示。nchar、 nvarchar、ntext存储的正是Unicode编码格式的字符。所以一般来说,如果含有中文字符,用nchar、nvarchar、ntext, 如果只含英文字符,就用char、varchar、text。

作者:Esofar

出处:http://www.cnblogs.com/esofar/p/4852765.html

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。

        INT (或INTEGER)数据类型存储从-2的31次方 (-2 ,147 ,483 ,648) 到2的31次方-1 (2 ,147 ,483,647) 之间的所有正负整数。

 存储范围是-32,768 到 32,767 之间的整数,用来存储限定在特定数值范围内的数据。(每个数值占用 2 字节)

        每个INT 类型的数据按4 个字节存储,其中1 位表示整数值的正负号,其它31 位表示整数值的长度和大小。

tinyint

    2、SMALLINT

 存储范围是0到255 之间的整数,用来存储有限数目的数值。(每个数值占用 1 字节)

        SMALLINT 数据类型存储从-2的15次方( -32, 768) 到2的15次方-1( 32 ,767 )之间的所有正负整数。

bigint

        每个SMALLINT 类型的数据占用2 个字节的存储空间,其中1 位表示整数值的正负号,其它15 位表示整数值的长度和大小。

 存储范围是-9,223,372,036,854,775,808到 9,223,372,036,854,775,807之间的整数,(每个数值占用 8 字节)

    3、TINYINT

bit

        TINYINT数据类型存储从0 到255 之间的所有正整数。每个TINYINT类型的数据占用1 个字节的存储空间。

 值只能是0或1,当输入0以外的其他值时,系统均把它们当1看待。常用来表示真假、男女等二值选择。

    4、BIGINT

 

        BIGINT 数据类型存储从-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 ,并进行必要的进位。若一个数是上舍入数,其绝对值不会减少。

 

    如:对3.14159265358979 分别进行2 位和12位舍入,结果为3.15 和3.141592653590。

 

   1、REAL 数据类型

 

        REAL数据类型可精确到第7 位小数,其范围为从-3.40E -38 到3.40E +38。 每个REAL类型的数据占用4 个字节的存储空间。

 

    2、FLOAT

.

        FLOAT 数据类型可精确到第15 位小数,其范围为从-1.79E -308 到1.79E +308。 每个FLOAT 类型的数据占用8 个字节的存储空间。 

 

        FLOAT数据类型可写为FLOAT[ n ]的形式。n 指定FLOAT 数据的精度。n 为1到15 之间的整数值。当n 取1 到7 时,实际上是定义了一个REAL 类型的数据,系统用4 个字节存储它;
        当n 取8 到15 时,系统认为其是FLOAT 类型,用8 个字节存储它。

数值类型

    3、DECIMAL