SQL Server 2008中的新日期数据类型
2008-09-04 10:02:27 来源:WEB开发网DATETIME2中的时间部分的精确度依赖于你如何定义DATETIME2列,时间部分能够存储一个只有小时、分钟和秒的时间值,或者它能够支持在不同的精确定存储微秒,最多有7位小数,微妙可以向下精确到100纳秒。
使用DATETIME2数据类型你可以使用不同的长度字符存储和显示日期,从19(YYYY-MM-DD hh:mm:ss)到27(YYYY-MM-DD hh:mm:ss.0000000)。这依赖于不同数量的精度存储需要一定的磁盘开销。在DATETIME2列中存储不同的精度时需要在定义列时指定一个长度,我们可以像DATETIME2(X)来指定精度,其中X代表的是精度长度,可以从0到7。显示长度和存储空间的关系如下表所示:
图1
正如上表所示,DATETIME2列存储一个日期/时间值的磁盘空间开销是从6-8字节,它取决于你想要保留多少时间精度。
DATETIME2(3)格式等同于我们在旧版本的SQL Server中使用的DATETIME格式,但是使用DATETIME2(3)可以支持精确度到1毫秒,而旧版本中的DATETIME格式只能精确到3.33毫秒。注意DATETIME2(3)只需要7字节的磁盘开销,而DATETIME格式需要8个字节,现在,这意味着你可以存储与较早发布的SQL Server相同的日期和时间值并且能够节省磁盘空间。
使用DATETIME(7)格式允许你存储日期类型向上精确到100纳秒,尽管增加了精度,但是你不能保证在一张表中的一个时间值是唯一的,当使用DATETIME(7)格式时仍然可能在同一张表中存储两条具有相同时间的不同的记录。
此处是一个如何使用DATETIME2不同的精度值来显示不同的时间格式:
DECLARE @D0 datetime2(0) = ’2008-05-10 06:59:11.1234567’;
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
- ››Sql server 2005拒绝了对对象 'xx表' (数...
- ››Sql server 2005拒绝了对对象 'xx表' (数...
更多精彩
赞助商链接