5. 日期和时间数据类型
datetime和smalldatetime数据类型用于存储日期和时间数据。smalldatetime为4字节,存储1900年1月1日~2079年6月6日之间的时间,且只精确到最近的分钟。datetime数据类型为8字节,存储1753年1月1日~9999年12月31日之间的时间,且精确到最近的3.33毫秒。
SQL Server
2008有4种与日期相关的新数据类型:datetime2、dateoffset、date和time。通过SQL
Server联机丛书可找到使用这些数据类型的示例。
datetime2数据类型是datetime数据类型的扩展,有着更广的日期范围。时间总是用时、分钟、秒形式来存储。可以定义末尾带有可变参数的datetime2数据类型--如datetime2(3)。这个表达式中的3表示存储时秒的小数精度为3位,或0.999。有效值为0~9之间,默认值为3。
datetimeoffset数据类型和datetime2数据类型一样,带有时区偏移量。该时区偏移量最大为+/-14小时,包含了UTC偏移量,因此可以合理化不同时区捕捉的时间。
date数据类型只存储日期,这是一直需要的一个功能。而time数据类型只存储时间。它也支持time(n)声明,因此可以控制小数秒的粒度。与datetime2和datetimeoffset一样,n可为0~7之间。
数 据 类 型
描 述
存 储 空 间
Date
9999年1月1日~12月31日
3字节
Datetime
1753年1月1日~9999年12月31日,
精确到最近的3.33毫秒
8字节
Datetime2(n)
9999年1月1日~12月31日
0~7之间的N指定小数秒
6~8字节
Datetimeoffset(n)
9999年1月1日~12月31日
0~7之间的N指定小数秒+/–偏移量
8~10字节
SmalldateTime
1900年1月1日~2079年
6月6日,精确到1分钟
4字节
Time(n)
小时:分钟:秒.9999999
0~7之间的N指定小数秒
3~5字节