WEB开发网
开发学院数据库MSSQL Server SQL Server 2008中的新日期数据类型 阅读

SQL Server 2008中的新日期数据类型

 2008-09-04 10:02:27 来源:WEB开发网   
核心提示: DATETIME2中的时间部分的精确度依赖于你如何定义DATETIME2列,时间部分能够存储一个只有小时、分钟和秒的时间值,SQL Server 2008中的新日期数据类型(2),或者它能够支持在不同的精确定存储微秒,最多有7位小数,尽管增加了精度,但是你不能保证在一张表中的一个时间值是唯

DATETIME2中的时间部分的精确度依赖于你如何定义DATETIME2列,时间部分能够存储一个只有小时、分钟和秒的时间值,或者它能够支持在不同的精确定存储微秒,最多有7位小数,微妙可以向下精确到100纳秒。

使用DATETIME2数据类型你可以使用不同的长度字符存储和显示日期,从19(YYYY-MM-DD hh:mm:ss)到27(YYYY-MM-DD hh:mm:ss.0000000)。这依赖于不同数量的精度存储需要一定的磁盘开销。在DATETIME2列中存储不同的精度时需要在定义列时指定一个长度,我们可以像DATETIME2(X)来指定精度,其中X代表的是精度长度,可以从0到7。显示长度和存储空间的关系如下表所示:

SQL Server 2008中的新日期数据类型

图1

正如上表所示,DATETIME2列存储一个日期/时间值的磁盘空间开销是从6-8字节,它取决于你想要保留多少时间精度。

DATETIME2(3)格式等同于我们在旧版本的SQL Server中使用的DATETIME格式,但是使用DATETIME2(3)可以支持精确度到1毫秒,而旧版本中的DATETIME格式只能精确到3.33毫秒。注意DATETIME2(3)只需要7字节的磁盘开销,而DATETIME格式需要8个字节,现在,这意味着你可以存储与较早发布的SQL Server相同的日期和时间值并且能够节省磁盘空间。

使用DATETIME(7)格式允许你存储日期类型向上精确到100纳秒,尽管增加了精度,但是你不能保证在一张表中的一个时间值是唯一的,当使用DATETIME(7)格式时仍然可能在同一张表中存储两条具有相同时间的不同的记录。

此处是一个如何使用DATETIME2不同的精度值来显示不同的时间格式:

DECLARE @D0 datetime2(0) = ’2008-05-10 06:59:11.1234567’;

上一页  1 2 3 4 5  下一页

Tags:SQL Server 日期

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接