当前位置: 首页 > 数据库 > MSSQL > 正文

SQL Server中date、datetime、smalldate三种数据类型的区别

时间:2013-12-09

环境: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不会显示出他的毫秒,但是在进行时间比 较时他要毫秒就会出现,从而让两个时间段不能相等。