datetime 和 smalldatetime
代表日期和一天內的時間的日期和時間數據類型。
Microsoft SQL Server 用兩個 4 字節的整數內部存儲 datetime 數據類型的值。第一個 4 字節存儲 base date (即 1900 年 1 月 1 日)之前或之后的天數。基礎日期是系統參考日期。不允許早于 1753 年 1 月 1 日的 datetime 值。第一個4 字節:1900 年1 月1 日當日為0 ;之前的日期是負數;之后日期是正數。另外一個 4 字節存儲以午夜后3 1/3 毫秒數所代表的每天的時間。
smalldatetime 數據類型存儲日期和每天的時間,但精確度低于 datetime 。 SQL Server 將 smalldatetime 的值存儲為兩個 2 字節的整數。第一個 2 字節存儲 1900 年 1 月 1 日后的天數。另外一個 2 字節存儲午夜后的分鐘數。日期范圍從1900 年 1 月 1 日到 2079 年 6 月 6 日,精確到分鐘。
可以將這兩種類型轉換成float 浮點數, 其中整數部分就是對應的日期字節, 而小數部分是時間相應的比例, 如datetime 的小數部分就是占整天的毫秒數的比例;smalldatetime 的小數部分就是占整天的分鐘數的比例. 因此我們可以直接將這兩種類型的變量和整數、浮點數進行直接的加減。
datetime
從 1753 年 1 月 1 日到 9999 年 12 月 31 日的日期和時間數據,精確度為百分之三秒(等于 3.33 毫秒或 0.00333 秒)。如下表所示,把值調整到 .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 |
新聞熱點
疑難解答