SQL Server2008如今有了一個TIME數據類型,它容許你只存儲一個時間值而沒有時間。若是想要存儲一個特定的時間信息而不涉及具體的日期時,這將很是的有用。TIME數據類型存儲使用24小時制,它並不關心時區,支持高達100納秒的精確度。TIME數據類型支持從0到7不一樣的精度,就像DATETIME2格式,它的磁盤開銷是3到5個字節,取決與精度。TIME列的長度與精度以下表所示:spa
此處是一個如何使用不一樣的DATETIME2精度值來顯示不一樣的時間格式的示例:code
1 DECLARE @T0 time(0) = '16:59:11.1234567'; 2 DECLARE @T1 time(1) = '16:59:11.1234567'; 3 DECLARE @T2 time(2) = '16:59:11.1234567'; 4 DECLARE @T3 time(3) = '16:59:11.1234567'; 5 DECLARE @T4 time(4) = '16:59:11.1234567'; 6 DECLARE @T5 time(5) = '16:59:11.1234567'; 7 DECLARE @T6 time(6) = '16:59:11.1234567'; 8 DECLARE @T7 time(7) = '16:59:11.1234567'; 9 PRINT @T0; 10 PRINT @T1; 11 PRINT @T2; 12 PRINT @T3; 13 PRINT @T4; 14 PRINT @T5; 15 PRINT @T6; 16 PRINT @T7;
當運行上述代碼時將會獲得以下結果blog
1 16:59:11 2 16:59:11.1 3 16:59:11.12 4 16:59:11.123 5 16:59:11.1235 6 16:59:11.12346 7 16:59:11.123457 8 16:59:11.1234567
注意TIME(4),TIME(5)和TIME(6)在顯示時進行了精度截斷,這與SQL Server2008中的DATETIME2的行爲是一致的。只存儲時間部分的TIME數據類型列如今容許咱們驗證SQL Server的時間值以確保它們包含的是有效的時間,而且可以節省空間。class