SQL Server 2005的DATETIME和SMALLDATETIME基础(一)

 
   | |

导读:在本文中,我将介绍SQL Server中的两种基本的日期/时间数据类型——DATETIME和SMALLDATETIME,以及数据是如何在这两种类型中存储的。另外,作者还将介绍概括介绍TIMESTAMP数据类型。

关键词:SQL Server 2005 DATETIME SMALLDATETIME

正在加载数据... 【TechTarget中国原创】理解SQL Server的日期/时间数据类型是有一定难度的,尤其是混合使用TIMESTAMP的时候。在关于日期/时间的这一系列的第一部分,你将了解到关于数据是如何存储在DATETIME和SMALLDATETIME的基础知识,以及大致地了解TIMESTAMP数据类型——它经常与两种主要的日期/时间数据类型相混淆。

【TechTarget中国原创】理解SQL Server的日期/时间数据类型是有一定难度的,尤其是混合使用TIMESTAMP的时候。在关于日期/时间的这一系列的第一部分,你将了解到关于数据是如何存储在DATETIME和SMALLDATETIME的基础知识,以及大致地了解TIMESTAMP数据类型——它经常与两种主要的日期/时间数据类型相混淆。

  在SQL Server 2005使用日期/时间值有时候会很混淆。因为日期/时间数据类型同时存储日期和时间值,而这些值的操作并不总是一个简单的过程,或者看起来不简单的。

  当操作这类数据时,对于这些数据类型有一个基本的了解是很有重要的。在本文中,我将介绍SQL Server中的两种基本的日期/时间数据类型——DATETIME和SMALLDATETIME,以及数据是如何在这两种类型中存储的。另外,我还将概括介绍TIMESTAMP数据类型,这样你就可以了解到它与两种日期/时间数据类型的不同。

  SQL Server的DATETIME数据类型

  毫无疑问,DATETIEM数据类型对你的应用是最有用的。DATETIME字段(或一个变量)中的值是以两个4位整型存储的。第一个整型表示日期,而第二个整型表示时间。

  我们是从基准日期1900年1月1日开始的计算日期的整数的。整数表示该日期之前或之后的天数。因此,DATETIME数据类型仅仅支持由4位范围整数表示的日期。这就意味着DATETIME字段的一个日期必须处于1735年1月1日到9999年12月31日之间。

  第二个在DATETIME值的整数,即时间整数,存储了午夜后的1/300-秒单位的数字。这就意味着时间是以毫秒为单位存储的,并精确到3.33毫秒。因此,当你在DATETIME字段中插入一个值,SQL Server将把时间转换成.000、.003或.007秒。下面的表显示了SQL Server是圆整时间值的几个例子:

Time example

Rounded to:

10:10:10.989
10:10:10.990
10:10:10.991

10:10:10.990

10:10:10.992
10:10:10.993
10:10:10.994

10:10:10.993

10:10:10.995
10:10:10.996
10:10:10.997
10:10:10.998

10:10:10.997

10:10:10.999

10:10:11.000

 这个表的时间是以小时、分钟、秒钟顺序列出的,并且适当地将秒精确到毫秒。

  正如你所看到的,DATETIME字段中的两个整数一起表示一个特定日期的某一特定时间。当你从一个DATETIME字段中检索一个值时,它将日期和时间显示为一系列的数字。比如,下面的Transact-SQL 语句就是从DatabaseLog 表中的PostTime字段检索数据,这个表也是AdventureWorks示例数据库中的一部分:


SELECT PostTime FROM dbo.DatabaseLog
WHERE DatabaseLogID = 1

  PostTime字段是配置为DATETIME数据类型的。当你在SQL Server Management Studio中检索值时,所检索到的值在默认情况下以下面的格式返回:


PostTime
-----------------------
2005-10-14 01:58:27.567
(1 row(s) affected)

  注意,日期显示首先是年(2005),接着是月(10),然后是日(14)。然后日期后面是时间,也就是1小时、58分和27.567秒。值作为一个整体,它所指的是2005年10月14日,大约是凌晨1:58的日期和时间。

 
查看全文
 
 
 
 
 

SQL Server可用性

 
SQL Server能从虚拟化中受益。但在虚拟之前,确保主机服务器能够胜任。同样的,容量规划和性能监控也是虚拟化过程的关键部分。
 
集群在大多数情况下是最昂贵的选择,但是它可以提供更好地灵活性与自动化程度。在出现故障的情况下,集群技术可以提供最小的数据丢失。
 
目前,高可用性对于关键业务来说已经越来越重要。除去大量的第三方高可用选项之外,SQL Server还有一些自带的功能。
 
在本文中,作者论述了段落还原方案,它对于企业级的数据库非常有用,特别是对于那些只读历史数据被从多少有点操作频繁的当前数据中分离的数据仓库。
 
SQL Server 2005中引入的数据库可用性改善方面最吸引人的特性就是数据库段落还原功能,也就是接下来我要在本文中论述的内容。
 

登录TechTarget中国

关闭
本服务仅向TechTarget中国的会员开放,请登录或立即免费注册
电子邮件地址:
请输入您的电子邮件地址
密码:
下次自动登录