处理日期和时间数据--日期和时间数据类型
2012-09-25 11:48
295 查看
在SQL Server 2008之前,SQL Server支持两种表示时间的数据类型:DATETIME和SMALLDATETIME。这两种类型都包括了日期和时间组成部分,而且这两部分是不能分开的。它们在存储需求、支持的日期范围,以及日期的精度上都有所不同。SQL Server 2008新引入了DATE、TIME、DATETIME2和DATETIMEOFFSET数据类型。DATE是单独表示日期的数据类型,TIME是单独表示时间的数据类型,DATETIME2是一种比DATETIME具有更大的日期范围和更好的精度的日期类型,DATETIMEOFFSET具有一个时区组成部分。下表列出了每种日期和时间数据类型的详细信息,包括存储大小、支持的日期范围、精确度,以及推荐的表示格式。
上表中的最后三种数据类型(TIME、DATETIME2,以及DATETIMEOFFSET)的存储空间大小要依赖于所选择的精度(precision)。可以通过0到7之间的整数来指定其精度,分别代表不同小数位数的秒值的精度。例如,TIME(0)表示秒的精度只有0位小数,换句话说,只能准确到1秒。TIME(3)表示准确到1毫秒,而TIME(7)则表示准确到100纳秒。如果没有指定秒的小数部分的精度,SQL Server默认将上述三种类型的精度设置为7。
数据类型 | 存储大小(字节) | 日期范围 | 准确度 | 推荐格式及示例 |
DATETIME | 8 | 1753-01-01到 9999-12-31 | 3.33毫秒 | 'YYYYMMDD hh:mm:ss.nnn' '20090212 12:30:15.123' |
SMALLDATETIME | 4 | 1900-01-01到 2079-06-06 | 1分钟 | 'YYYYMMDD hh:mm' '20090212 12:30' |
DATE | 3 | 0001-01-01到 9999-12-31 | 1天 | 'YYYY-MM-DD' |
TIME | 3到5 | 00:00:00.0000000到23:59:59.9999999 | 100纳秒 | 'hh:mm:ss.nnnnnnn' '12:30:15.1234567' |
DATETIME2 | 6到8 | 0001-01-01 00:00:00.0000000到9999-12-31 23:59:59.9999999 | 100纳秒 | 'YYYY-MM-DD hh:mm:ss.nnnnnnn' '2009-02-12 12:30:15.1234567' |
DATETIMEOFFSET | 8到10 | 0001-01-01 00:00:00.0000000到9999-12-31 23:59:59.9999999 | 100纳秒 | 'YYYY-MM-DD hh:mm:ss.nnnnnnn [+|-] hh:mm' '2009-02-12 12:30:15.1234567 +02:00' |
相关文章推荐
- 【个人机房重构】—— VB.NET中,时间日期数据类型的处理与常见问题
- VB.NET中,时间日期数据类型的处理与常见问题
- 处理日期和时间数据--日期和时间数据类型
- Documentum中关于日期时间类型字段的特殊处理
- MySQL基础教程2 —— 数据类型之日期和时间类型
- jqGrid对可空日期类型数据转换时的错误处理
- mysql数据表中有日期为date类型,时间为time类型。此处的date存储的是年月日,time存储的是时分秒
- 《Oracle编程艺术》学习笔记(36)-数据类型-时间日期
- MS SQL Server 2000中用于日期时间存储数据类型说明
- MySQL日期数据类型、时间类型使用总结
- oracle 外部表导入时间日期类型数据,多字段导入
- MySQL日期数据类型、时间类型使用总结
- Solr4:数据导入(dataimport)时,不符合Solr日期类型要求的字段的处理
- MySQL数据类型--日期时间
- MySQL日期数据类型、MySQL时间类型使用总结
- MySQL:MySQL日期数据类型、MySQL时间类型使用总结
- MySQL日期数据类型、MySQL时间类型使用总结
- MySQL日期数据类型、时间类型使用总结
- MySQL日期数据类型、时间类型使用总结
- Play1.x对于日期类型数据的请求和处理