SQLServer date、datetime、smalldate区别
环境:SQLServer 2008 R2 问题: SQLServer date、datetime、smalldate区别 解决: datetime 从1753年1月1日到9999年12月31日的日期和时间数据,精确度为百分之三秒(等于 3.33毫秒或0.00333秒)。如下表所示,把调整到.000、.003、或.007 秒的增量。 日期和
环境:SQLServer 2008 R2
问题:SQLServer date、datetime、smalldate区别
解决:
datetime
从1753年1月1日到9999年12月31日的日期和时间数据,精确度为百分之三秒(等于 3.33毫秒或0.00333秒)。如下表所示,把值调整到.000、.003、或.007 秒的增量。
日期和时间部分,可以表示的日期范围从公元1753年1月1日00:00:00.000 到9999年12月31日23:59:59.997 ,精确到3.33毫秒,它需要8个字节的存储空间。
smalldatetime
从1900年1月1日到2079年6月6日的日期和时间数据精确到分钟。29.998秒或更低的 smalldatetime值向下舍入为最接近的分钟,29.999秒或更高的smalldatetime值向上舍入为最接近的分钟。需要4字节的存储空间。
date
SQL Server 2008新引进的数据类型。它表示一个日子,不包含时间部分,可以表示的日期范围从公元元年1月1日到9999年12月31日。只需要3个字节的存储空间。
在读取该数据时不管你的字段是datetime或smalldatetime读出来的格式都一样(如:1900-01-01)。datetime不会显示出他的毫秒,但是在进行时间比较时他要毫秒就会出现,从而让两个时间段不能相等。
参考资料:
http://topic.csdn.net/t/20061024/20/5106333.html
http://www.cnblogs.com/SAL2928/archive/2007/06/01/767431.html
http://zhidao.baidu.com/question/319116298.html