datetime数据类型怎么输入_SQL SERVER常用数据类型解析

36338bd918432d382025bc6123d4a9eb.png

(1)整数数据类型

整数数据类型是SQL Server 2014 中最常用的数据类型之一,主要用于存储整数值,如存放“年龄”、“工龄”等信息,数值型的数据可以直接进行运算处理。具体来说:SQL Server 2014的整数类型包含如下4种:

①    Int (integer)

Int(或integer)的存储容量为4个字节,其中一个二进制位表示正负符号,一个字节8位。根据字节大小,用户可以算出它所能存储的数据容量为31位,存储范围为-231~231-1内所有的整数。

②    Smallint

Smallint的存储量为2个字节,其中一个二进制位表示正负符号,剩余的15位用来存储数据内容,器存储范围为-215~215-1内所有的整数。

③    Tinyint

Tinyint只占用一个字节存储空间,用于存储0~255中所有的整数。

④    Bigint

Bigint是所有整数类型中存储量最大的,存储容量达到8个字节,可存储的数据范围为-263~263-1中所有的整数。

(2)浮点数据类型

浮点数据类型用于存储十进制的小数。浮点类型的数值在SQL Server 2014中使用了上舍入(或称只入不舍)的方法进行存储,当且仅当要舍入的是一个非零整数时,对其保留数字部分的最低有效位上的数值加1,

①    Real

Real类型的存储空间为4个字节,可精确到第7位小数,其范围从-3.4E + 38 ~ 3.40E + 38.

②    Float

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

③    Decimal

Decimal 数据类型提供浮点数所需要的实际存储空间,能用来存储从-1038-1~1038-1的固定精度和范围的数值型数据。使用这种数据类型时,必须指定范围和精度。范围是小数点左右所能存储的数字的总位数;精度是小数点右边存储的数字的位数。例如:decimal(13,3)表示共有13位,其中整数10位,小数3位。

(3)字符类型

字符类型同样是SQL Server 2014 中常用的数据类型,可用于存储汉字、符号、英文、标点符号等,数字同样可以作为字符类型来存储。SQL Server 2014 的字符型类型包含如下4种:

①   Char

Char数据类型用来存储指定长度的定长非统一编码型的数据。当定义一列为此类型时,用户必须指定列长。当用户知道要存储的数据的长度时,此数据类型就较为适用。例如,当一个字段要用于存储手机号码时,需要用到11个字符,char类型默认为存储一个字符,最多可存储8000字符。

②   Varchar

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

③   Nchar

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

④   Nvarchar

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

(4)日期和时间类型

① Date

Date 类型用于存储常用日期,该类型占3个字节的存储空间,数据的存储格式为“YYYY-MM-DD”;

YYYY:表示日期的年份,取值范围0001~9999。

MM:表示日期中的月份,取值范围为01~12。

DD:表示日期中的某一天,取值范围为01~31。

② Time

Time 类型用于存储一天当中的某一个时间,该类型占5个字节的存储空间,数据的存储格式为“HH:MM:SS[.NNNNNNN]”

        HH:表示存储时间的小时位,取值范围为0~23。

        MM:表示存储时间的分钟位,取值范围为0~59。

        DD:表示存储时间的秒位,取值范围为0~59。

        N:表示存储时间秒的小数位,取值范围为0~9999999。

③ Datetime

Datetime数据类型用来表示日期和时间。这种数据类型存储从1753年1月1日到9999年12月31日间所有

的日期和时间数据,精确到三百分之一秒或3.33毫秒,该类型占用8个字节的存储空间。

④ Datetime2

Datetime2是从SQL Server 2008版本以后支持的新日期类型,它是datetime的一个扩展,相比于datetime,

Datetime2所支持的日期从0001年01月01日到9999年12月31日,它的时间精度为100纳秒,占用6~8个字节的存储空间。

⑤   Smalldatetime

Smalldatetime类型与datetime的类型相似,只是它所支持的日期范围更小,从1900年1月1日到2079年6月6日,占用4字节的存储空间。

(5)文本和图形数据类型

①   Text

Text数据类型用于存储大容量的文本数据,它的理论容量为231-1(2147483674)个字节,在实际使用中text类型时需要注意硬盘容量。

②   Ntext

Ntext数据类型与text类型相似,不同的是ntext类型采用unicode标准字符集(Character set),因此其理论容量为230-1(1073741823)个字节。

③   Image

Image数据类型用于存储大量的二进制数据Binary Data。其理论容量为231-1(2147483647)个字节。其存储数据的模式与text数据类型相同。通常用来存储图形等对象。

注意:未来的Mircosoft SQL Server版本中将不再使用Text、Ntext和image数据类型,为了避免在开发中出现问题请不要使用,可以使用nvarchar(max)、varchar(max)和varbinary(max)替代。

(6)货币数据类型

①   Money

Money数据类型用于存储货币值,money数据类型的存储范围是-922337203685477.5808至+922337203685477.5807,占用8个字节的存储空间。

②   smallmoney

smallmoney与money数据类型的作用一致,只是取值范围更小,在-214748.3648至214748.3647之间,占用4个字节的存储空间。

(7)位数数据类型

Bit在SQL Server 2014中称为位数据类型,它的取值范围在0或1之间。Bit类型常用逻辑的判断,true为1,false为0。

(8)二进制数据类型

①   Binary

Binary(N)是一个固定长度为N字节的二进制数据类型,它的存储范围由N来决定,N的取值范围为1~8000,存储空间为N字节。为了表示二进制数据,在输入时需在数据前面加上“0X”作为二进制标识,例如输入0XBB4代表BB4。

②   Varbinary

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

(9)其他数据类型

①   Rowversion

在SQL Server 2014中,每一次对数据表的更改SQL Server都会更新一个内部的序列数,这个序列数就保存在rowversion字段中。所有Rowversion 列的值在数据表中是唯一的,并且每张表中只能有一个包含rowversion字段的列存在。

使用rowversion作为数据类型的列,其字段本身的内容是无自身含义的,这种列的主要是作为数据是否被修改过,更新是否成功的作用列。

②   Timestamp

Timestamp时间戳数据类型和rowversion有一定的相似性,每次插入或更改包含timestamp的记录时,timestamp的值就会更新,一张表中只能有一个timestamp列。在创建表时只需要提供数据类型即可,不需要为timestamp所在的数据列提供列名:

createtableTestTable1(PriKey,intPrimarykey,timestamp)

       使用rowversion时不具备这种特性,如果要为某一列指定为rowversion数据类型时需声明列名:

createtabletesttable2(PriKey intprimarykey,VeColrowversion)

③   Uniqueidentifier

全局唯一标识符GUID,一般作用主键的数据类型,是由硬件地址、CPU标识、时钟频率所组成的随机数据,在理论上每次生成的GUID都是全球独一无二不存在重复的。通常在并发性较强的环境下可以考虑使用。它的优点在于全球唯一性、可对GUID值随意修改,但是确定也很明显,检索速度慢、编码阅读性差。

④   Cursor

游标数据类型,该类型的数据用来存放数据库中选中所包含的行和列,只是一个物理地址的引用并不包含索引,用于建立数据集。

⑤   Sql_variant

用于存储SQL Server 2014支持的各种数据类型(不包括Text、Ntext、Image、Timestamp和SQL_Variant)的值。

       注意:微软后续的SQL版本中将不再使用Timestamp数据类型,请避免使用。

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值