SQL Server2008 TIME類型

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

相關文章
相關標籤/搜索