SQL Server2008新增的DATE數據類型
在SQL Server2008之前的版本中,日期數據類型無法實現只存儲日期而不存儲時間。在SQL Server2008中,新的DATE數據類型可以實現該功能。
你是否曾經想只存儲日期而沒有時間?如果是的話,使用舊的日期數據類型將無法完成。現在在SQL Server 2008中你可以使用DATE數據類型,DATE數據類型允許只存儲一個日期值,它支持的日期范圍從0001-01-01到9999-12-31,存儲DATE數據類型磁盤開銷只需3個字節,如果你只需要存儲日期值而沒有時間,使用DATE可以比SMALLDATETIME節省一字節的磁盤空間。
這里用一個示例來展示如何顯示DATE的值
- SET NOCOUNT ON;
- DECLARE @D DATE = '2001-03-1';
- PRINT @D;
- SELECT CONVERT(char(10),@D,120) DATEONLY, @D [DATE-N-TIME];
運行上述代碼將會得到如下結果
- 2001-03-01
- DATEONLY DATE-N-TIME
- ---------- -----------------------
- 2001-03-01 2001-03-01 00:00:00.000
這里你可以看到PRINT語句顯示日期使用YYYY-MM-DD格式,但是SELECT語句要求你使用CONVERT函數把SQL Server2008中的DATE變量轉換為YYYY-MM-DD格式,正如你所看到的,如果你使用SELECT只顯示一個DATE變量,***的輸出結果仍然包含時間部分,這個功能在所有新的日期和時間數據類型中是一致的。
【編輯推薦】