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