使用日期和时间数据

更新日期: 2006 年 4 月 14 日

SQL Server 2005 中的日期和时间数据类型类别包含下列数据类型:

  • datetime
  • smalldatetime

使用 datetimesmalldatetime 数据类型,可以执行下列操作:

可以使用系统日期和时间函数对 datetimesmalldatetime 数据类型执行一些算术运算。有关详细信息,请参阅Functions (Transact-SQL)

下面是使用日期和时间数据的一些规则:

  • 若要搜索完全匹配的日期和时间,请使用等号 (=)。SQL Server 将返回月、日、年完全匹配的日期和时间值,精确时间表示为 12:00:00:000 A.M.(默认)。有关时间的详细信息,请参阅时间格式

  • SQL Server 在运行时计算 datetime 常量。如果由使用不同语言和日期格式设置的连接执行查询,则使用一种语言所需的数据格式的数据字符串可能不可识别。例如,对于使用美国英语语言设置建立的连接,此视图可以正常工作,而对于使用其他语言设置建立的连接,此视图无法正常工作:

    CREATE VIEW dbo.USA_Dates AS
    SELECT PurchaseOrderID, TotalDue
    FROM AdventureWorks.Purchasing.PurchaseOrderHeader
    WHERE OrderDate < 'May 1, 2002';
    

    在使用不同语言设置建立的连接所执行的查询中使用 datetime 常量时,需确保日期对于所有语言设置均是可接受的。对于国际数据库中永久对象中的 datetime 常量,例如表约束和查看 WHERE 子句,必须同样小心。下面的示例介绍确保对于所有语言或数据格式连接设置,都对 datetime 常量进行相同解释的一种方法。

    CREATE VIEW dbo.International_Dates AS
    SELECT PurchaseOrderID, TotalDue
    FROM AdventureWorks.Purchasing.PurchaseOrderHeader
    WHERE OrderDate < CONVERT(DATETIME,'20020501',101);
    

    有关详细信息,请参阅编写国际化 Transact-SQL 语句

SQL Server 可识别下列格式中用单引号 (') 括起来的日期和时间。 

  • 字母日期,例如 'April 15, 1998'
  • 数值日期格式,例如 '4/15/1998'
  • 未分隔的字符串格式,例如 '19981207' 指 1998 年 12 月 7 日。

请参阅

其他资源

日期和时间 (Transact-SQL)
数据类型 (Transact-SQL)
CAST 和 CONVERT (Transact-SQL)

帮助和信息

获取 SQL Server 2005 帮助