用於表示某天的日期和時間的數據類型。
datetime 和 smalldatetime
-
表示某天的日期和時間。
數據類型 范圍 精確度 datetime
1753 年 1 月 1 日到 9999 年 12 月 31 日
3.33 毫秒
smalldatetime
1900 年 1 月 1 日到 2079 年 6 月 6 日
1 分鍾
備注
Microsoft SQL Server 2005 Database Engine 用兩個 4 字節的整數內部存儲 datetime 數據類型的值。 第一個 4 字節存儲“基礎日期”(即 1900 年 1 月 1 日)之前或之后的天數。基礎日期是系統參照日期。另外一個 4 字節存儲天的時間(以午夜后經過的毫秒數表示)。
smalldatetime 數據類型存儲天的日期和時間,但精確度低於 datetime。數據庫引擎 將 smalldatetime 值存儲為兩個 2 字節的整數。第一個 2 字節存儲 1900 年 1 月 1 日后的天數。另外一個 2 字節存儲午夜后經過的分鍾數。
如下表所示,將 datetime 值舍入到 .000、.003、或 .007 秒的增量。
示例 | 舍入后的示例 |
---|---|
01/01/98 23:59:59.999 |
1998-01-02 00:00:00.000 |
01/01/98 23:59:59.995, 01/01/98 23:59:59.996, 01/01/98 23:59:59.997 或 01/01/98 23:59:59.998 |
1998-01-01 23:59:59.997 |
01/01/98 23:59:59.992, 01/01/98 23:59:59.993 或 01/01/98 23:59:59.994 |
1998-01-01 23:59:59.993 |
01/01/98 23:59:59.990 或 01/01/98 23:59:59.991 |
1998-01-01 23:59:59.990 |
將等於或小於 29.998 秒的 smalldatetime 值向下舍入到最接近的分鍾數;將等於或大於 29.999 秒的值向上舍入到最接近的分鍾數。
![]() |
|
---|---|
--Returns time as 12:35. SELECT CAST('2003-05-08 12:35:29.998' AS smalldatetime); GO --Returns time as 12:36. SELECT CAST('2003-05-08 12:35:29.999' AS smalldatetime); GO |