科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道SQL Server 2008 中新的日期时间数据类型(1)

SQL Server 2008 中新的日期时间数据类型(1)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

SQL Server 2008 终于发布新版了,虽然还只是另一个社区测试版而非完全版。

作者:豆豆网 来源:豆豆网 2008年1月30日

关键字: SQL 2008 SQL SQL Server SQL Server 2008

  • 评论
  • 分享微博
  • 分享邮件
SQL Server 2008 终于发布新版了,虽然还只是另一个社区测试版而非完全版。每当新软件发布,大家最关系的问得最多的问题就是:有些什么新特性?SQL Server 2008有很多新功能和新工具。不过,本文还是主要为大家介绍SQL Server 2008七月预览版引入的新数据类型,并对DATETIME数据类型的功能进行专门讨论。

  SQL Server 2008中DATETIME功能的最大转变就是引入了四种DATETIME数据类型,分别为DATE、TIME、DATETIMEOFFSET和DATETIME2;此外还增加了新的DATETIME函数功能。

  下面首先来讨论一下四种新数据类型的功能和用法。

  DATE数据类型

  在SQL Server 2005中,没有专门只用来存储日期(不包括时间)的特定数据类型,只能使用DATETIME或SMALLDATETIME数据类型来完成此操作。但是,当你输入日期之后,会显示还有一个时间的组分需要输入,其初始显示为12:00 AM。如果只想在输出结果中显示日期那一部分,就必须修改输出格式。大部分情况下,可以使用getdate()函数来存储当前日期。要在SQL Server 2005中的SMALLDATETIME或DATETIME列中保存getdate()的函数值,同时也会保存了当前的时间,而这可能会引发很多问题。举例而言,如果你使用以下的语句,想根据给定的日期来搜索记录:

  SELECT * FROM tblDate Where [Date] = '2007-12-01'

  由于Date列里含有时间组分,这个命令将无法正常执行, 因此,你必须执行以下的查询操作:

  SELECT * FROM tblDate Where datediff(d,[Date],‘2007-12-01’) =0

  尽管上面的查询操作可以行得通,不过Date列中符合要求的索引很可能不会被使用。不过你还是可以使用上面的查询操作调出少量的记录。虽然可以利用工作区,但很明显有必要增加一种去掉时间值的DATE数据类型来减少潜在的错误。来看看以下的语法

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章