SQL Server 2008 各种DateTime的取值范围

在SQL SERVER中DATETIME表示的时间为00:00:00到23:59:59.997,它的时间精度为1/300秒,在使用时会舍入到舍入到 .000、.003 或 .007 秒三个增量。如下表是DATETIME秒的小数部分精度的舍入。

用户指定的值

使用DateTime类型时系统存储的值

1998-1-1   23:59:59.990

1998-1-1   23:59:59.991

1998-01-01 23:59:59.990

1998-1-1   23:59:59.992

1998-1-1   23:59:59.993

1998-1-1   23:59:59.994

1998-01-01 23:59:59.993

1998-1-1   23:59:59.995

1998-1-1   23:59:59.996

1998-1-1   23:59:59.997

1998-1-1   23:59:59.998

1998-01-01 23:59:59.997

1998-1-1   23:59:59.999

1998-01-02 00:00:00.000

在SQL SERVER 2008中新增了Datetime2类型,可以提供更高的时间精度,且可以自定义时间精度,以后可以使用这种数据类型。Datetime2的精度是100 纳秒。

SQL Server 2008除了DateTime和SmallDateTime之外,又新增了四种时间类型,分别为:date,time,datetime2和datetimeoffset。

各时间类型范围、精度一览表:

数据类型

时间范围

精度

Smalldatetime

1900-01-01 到 2079-06-06 00:00:00 到   23:59:59

分钟

Datetime

1753-01-01到9999-12-31 00:00:00 到   23:59:59.997

3.33毫秒

Time

00:00:00.0000000 到   23:59:59.9999999

100 纳秒

Date

0001-01-01 到 9999-12-31

Datetime2

0001-01-01 到 9999-12-31 00:00:00 到   23:59:59.9999999

100 纳秒

Datetimeoffset

0001-01-01 到 9999-12-31 00:00:00 到   23:59:59.9999999 -14:00 到 +14:00

100 纳秒

各时间类型表达式一览表: 数据类型 输出 time 12:35:29. 1234567 date 2007-05-08 smalldatetime 2007-05-08 12:35:00 datetime 2007-05-08 12:35:29.123 datetime2 2007-05-08 12:35:29. 1234567 datetimeoffset 2007-05-08 12:35:29.1234567 +12:15


当看到一些不好的代码时,会发现我还算优秀;当看到优秀的代码时,也才意识到持续学习的重要!--buguge
本文来自博客园,转载请注明原文链接:https://www.cnblogs.com/buguge/archive/2012/11/29/2794393.html


原文地址:https://www.cnblogs.com/buguge/p/2794393.html