日期和时间改进
适用于:SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics Analytics Platform System (PDW)
本主题介绍 OLE DB Driver for SQL Server 对于 SQL Server 2008 (10.0.x) 中已添加的日期和时间数据类型的支持。
有关日期/时间改进的详细信息,请参阅日期和时间改进 (OLE DB)。
使用情况
以下各节介绍使用新的日期和时间类型的各种方法。
将日期用作非重复数据类型
从 SQL Server 2008 (10.0.x) 开始,借助于对日期/时间类型的增强支持,可以更高效地使用 DBTYPE_DBDATE OLE DB 类型。
将时间用作非重复数据类型
OLE DB 已具有一种只包含时间的数据类型 DBTYPE_DBTIME,它的精度为 1 秒。
新的 SQL Server 时间数据类型具有秒的小数形式,其准确度可达 100 纳秒。 这需要 OLE DB Driver for SQL Server 中的新类型:DBTYPE_DBTIME2。 已编写的所用时间不带秒的小数部分的现有应用程序可以使用 time(0) 列。 现有的 OLE DB DBTYPE_TIME 类型及其对应的结构应正常工作,除非应用程序依赖于元数据中返回的类型。
将具有扩展的秒的小数部分精度的时间用作非重复数据类型
某些应用程序(如过程控制和生产应用程序)要求能够处理精度高达 100 纳秒的时间数据。 OLE DB 中用于此目的的新类型是 DBTYPE_DBTIME2。
使用具有扩展的秒的小数部分精度的日期时间
OLE DB 已定义了一个精度高达 1 纳秒的类型。 但是,此类型已由现有的 SQL Server 应用程序使用,并且此类应用程序预计只需 1/300 秒精度。 新的 datetime2(3) 类型与现有的日期时间类型不直接兼容 。 如果这一点将影响应用程序行为而导致风险,则应用程序必须使用新的 DBCOLUMN 标志以确定实际的服务器类型。
使用具有扩展的秒的小数部分精度和时区的日期时间
一些应用程序要求带有时区信息的日期时间值。 新的 DBTYPE_DBTIMESTAMPOFFSET 类型支持此方法。
将 Date/Time/Datetime/Datetimeoffset 数据用于与现有转换一致的客户端转换
转换将以一致的方式进行扩展,以包括在 SQL Server 2008 (10.0.x) 中引入的所有日期和时间类型之间的转换。