如果要实现只存储日期而没有时间,通过SQL Server2008中的DATE数据类型就可以满足这个需求,下面就将为您详细介绍SQL Server2008新增的DATE数据类型。

在SQL Server2008之前的版本中,日期数据类型无法实现只存储日期而不存储时间。在SQL Server2008中,新的DATE数据类型可以实现该功能。

SQL Server2008新增的DATE数据类型(sql server date类型)  Server2008 第1张

你是否曾经想只存储日期而没有时间?如果是的话,使用旧的日期数据类型将无法完成。现在在SQL Server 2008中你可以使用DATE数据类型,DATE数据类型允许只存储一个日期值,它支持的日期范围从0001-01-01到9999-12-31,存储DATE数据类型磁盘开销只需3个字节,如果你只需要存储日期值而没有时间,使用DATE可以比SMALLDATETIME节省一字节的磁盘空间。

这里用一个示例来展示如何显示DATE的值

  1. SETNOCOUNTON;
  2. DECLARE@DDATE='2001-03-1';
  3. PRINT@D;
  4. SELECTCONVERT(char(10),@D,120)DATEONLY,@D[DATE-N-TIME];

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

  1. 2001-03-01
  2. DATEONLYDATE-N-TIME
  3. ---------------------------------
  4. 2001-03-012001-03-0100:00:00.000

这里你可以看到PRINT语句显示日期使用YYYY-MM-DD格式,但是SELECT语句要求你使用CONVERT函数把SQL Server2008中的DATE变量转换为YYYY-MM-DD格式,正如你所看到的,如果你使用SELECT只显示一个DATE变量,***的输出结果仍然包含时间部分,这个功能在所有新的日期和时间数据类型中是一致的。

【编辑推荐】

***SQL Server数据库表分区的实现

详解SQL Server分布式查询

SQL server2005循环操作实例

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

SQL Server中不同用户的权限

转载请说明出处
知优网 » SQL Server2008新增的DATE数据类型(sql server date类型)

发表评论

您需要后才能发表评论