SQL Server 2008 引入全新日期時間資料類型,解決舊版 DATETIME 與 SMALLDATETIME 在日期範圍、時間精度、儲存效率上的諸多限制,為開發者提供更精準、彈性的時間資料建模能力。
| 類型 | 儲存大小 | 日期範圍 | 時間精度 |
|---|---|---|---|
| DATETIME | 8 Bytes | 1753-01-01 ~ 9999-12-31 | 3.33 毫秒 |
| SMALLDATETIME | 4 Bytes | 1900-01-01 ~ 2079-06-06 | 分鐘 |
痛點:無法儲存 1753 年前日期、時間精度不足、日期與時間無法分離儲存、遷移異構資料來源困難。
DATETIME2(n)DATETIME2(3) 等同舊 DATETIME 但精度 1ms、省 1 Byte;DATETIME2(7) 達 100ns 精度。+hh:mm 時區位移
DATE/TIME/DATETIME2,依業務需求選擇精度,兼顧儲存效率與查詢效能。DATETIME2(7) 雖精度極高,但無法保證單表時間值唯一,高併發寫入仍需額外機制(如 SEQUENCE、ROWVERSION)保證排序。