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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值