帶您解讀SQL Server2008中的TIME數據類型
如果您需要存儲某特定的時間信息卻不包含日期時,就可以用到SQL Server2008中的TIME數據類型,SQL Server2008新增的TIME數據類型,將可以為您完美解決此問題。
SQL Server2008現(xiàn)在有了一個TIME數據類型,它允許你只存儲一個時間值而沒有時間。如果想要存儲一個特定的時間信息而不涉及具體的日期時,這將非常的有用。TIME數據類型存儲使用24小時制,它并不關心時區(qū),支持高達100納秒的精確度。TIME數據類型支持從0到7不同的精度,就像DATETIME2格式,它的磁盤開銷是3到5個字節(jié),取決與精度。TIME列的長度與精度如下表所示:
此處是一個如何使用不同的DATETIME2精度值來顯示不同的時間格式的示例:
- DECLARE @T0 time(0) = '16:59:11.1234567';
- DECLARE @T1 time(1) = '16:59:11.1234567';
- DECLARE @T2 time(2) = '16:59:11.1234567';
- DECLARE @T3 time(3) = '16:59:11.1234567';
- DECLARE @T4 time(4) = '16:59:11.1234567';
- DECLARE @T5 time(5) = '16:59:11.1234567';
- DECLARE @T6 time(6) = '16:59:11.1234567';
- DECLARE @T7 time(7) = '16:59:11.1234567';
- PRINT @T0;
- PRINT @T1;
- PRINT @T2;
- PRINT @T3;
- PRINT @T4;
- PRINT @T5;
- PRINT @T6;
- PRINT @T7;
當運行上述代碼時將會得到如下結果:
- 16:59:11
- 16:59:11.1
- 16:59:11.12
- 16:59:11.123
- 16:59:11.1235
- 16:59:11.12346
- 16:59:11.123457
- 16:59:11.1234567
注意TIME(4),TIME(5)和TIME(6)在顯示時進行了精度截斷,這與SQL Server2008中的DATETIME2的行為是一致的。只存儲時間部分的TIME數據類型列現(xiàn)在允許我們驗證SQL Server的時間值以確保它們包含的是有效的時間,并且能夠節(jié)省空間。
【編輯推薦】