Inside Microsoft SQL Server 2005: T-SQL Programming (数据类型|第一章) DATETIME

来源:互联网 发布:象过河软件 编辑:程序博客网 时间:2024/05/18 20:13

DATETIME 数据类型

SQL Server支持两中日期与时间相关的数据类型:DateTime & Small DateTime


DATETIME 储存格式

DateTime并非按照年、月、日、小时、分、秒、毫秒分别储存的,事实上,DateTime采用了两个4Byte的整数来表示,SmallDateTime采用了两个2Byte的整数来表示。

DateTime的前4Byte表示1900年1月1日至当前时间的总天数,后4Byte表示当天午夜之后经过了多少毫秒,最小度量单位为3毫秒。DateTime支持的时间范围是从1753年1月1日至9999年12月31日。DateTime最早支持到1753年1月1日是源于Julian公历。

SmallDateTime的前2Byte表示1900年1月1日至当前时间的总天数,后2Byte表示当天午夜之后经过了多少分钟。SmallDateTime支持的时间范围是从1900年1月1日至2079年6月6日。


DATETIME 操作方法

表述方法

SQL Server中支持使用者用字符串的形式表示时间并且隐形地转换成DATETIME类型。需要注意的是,DATETIME比String类型具有更多的优先级,因此当一个运算式中出现DATETIME和String两种数据结构时,String将被隐式地转换成DATETIME。

DATETIME的字符串表述会根据初始登录语言的设置来决定,并且可以通过SET LANGUAGE来修改语言以及通过SET DATE-FORMAT来修改语言表述格式。

当然还可以通过CONVERT函数来显示地转换DATETIME,具体方法如下链接:http://msdn.microsoft.com/zh-cn/library/ms187928.aspx。

四舍五入

当一个字符串被转换成为DATETIME时,该时间会被近似到DATETIME能表述的某个值(最小度量为三百分之一秒);当一个字符串被转换成为SmallDateTime时,该时间会被近似到SmallDateTime能表述的某个值(最小度量为一分钟)。当DATETIME被转换成为字符串时,时间会被近似到最接近的毫秒。

DATETIME函数

DATEADD用于向某个DATETIME上增加一定时间:http://msdn.microsoft.com/zh-cn/library/ms186819.aspx。

DATEDIFF用于计算两个时间之间的间隔:http://msdn.microsoft.com/zh-cn/library/ms189794.aspx。

DATEPART用于返回某个DATETIME部分值:http://msdn.microsoft.com/zh-cn/library/ms174420.aspx。

DATENAME用于返回某个DATETIME部分名称:http://msdn.microsoft.com/zh-cn/library/ms174395.aspx。

GETDATE用于返回当前系统时间: http://msdn.microsoft.com/zh-cn/library/ms188383.aspx。

GETUTCDATE用于返回当前UTC时间: http://msdn.microsoft.com/zh-cn/library/ms178635.aspx。

CURRENT_TIMESTAMP用于返回ANSI编码的系统当前时间: http://msdn.microsoft.com/zh-cn/library/ms188751.aspx。

其他时间函数: http://msdn.microsoft.com/zh-cn/library/ms186724.aspx。

原创粉丝点击