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

相关文章
相关标签/搜索