SQL Server2008新增了TIME数据类型,TIME数据类型允许只存储一个时间值而没有时间,可以完美解决存储某特定的时间信息却不包含日期的问题。

如果您需要存储某特定的时间信息却不包含日期时,就可以用到SQL Server2008中的TIME数据类型,SQL Server2008新增的TIME数据类型,将可以为您完美解决此问题。

SQL Server2008现在有了一个TIME数据类型,它允许你只存储一个时间值而没有时间。如果想要存储一个特定的时间信息而不涉及具体的日期时,这将非常的有用。TIME数据类型存储使用24小时制,它并不关心时区,支持高达100纳秒的精确度。TIME数据类型支持从0到7不同的精度,就像DATETIME2格式,它的磁盘开销是3到5个字节,取决与精度。TIME列的长度与精度如下表所示:

带您解读SQL Server2008中的TIME数据类型(sql server time类型)  SQL Server2008 第1张#p#

此处是一个如何使用不同的DATETIME2精度值来显示不同的时间格式的示例:

  1. DECLARE@T0time(0)='16:59:11.1234567';
  2. DECLARE@T1time(1)='16:59:11.1234567';
  3. DECLARE@T2time(2)='16:59:11.1234567';
  4. DECLARE@T3time(3)='16:59:11.1234567';
  5. DECLARE@T4time(4)='16:59:11.1234567';
  6. DECLARE@T5time(5)='16:59:11.1234567';
  7. DECLARE@T6time(6)='16:59:11.1234567';
  8. DECLARE@T7time(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;

当运行上述代码时将会得到如下结果:

  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的时间值以确保它们包含的是有效的时间,并且能够节省空间。

【编辑推荐】

SQL Server2008新增的DATE数据类型

详解SQL Server分布式查询

SQL server2005循环操作实例

为您详解SQL Server中的全局变量

SQL Server中不同用户的权限

转载请说明出处
知优网 » 带您解读SQL Server2008中的TIME数据类型(sql server time类型)

发表评论

您需要后才能发表评论