Mejoras en la fecha y la hora
Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
En este tema se describe la compatibilidad de OLE DB Driver for SQL Server con los nuevos tipos de datos de fecha y hora que se agregaron en SQL Server 2008 (10.0.x).
Para más información sobre las mejoras de fecha y hora, consulte Mejoras de fecha y hora (OLE DB).
Uso
En las secciones siguientes se describen varios modos de usar los nuevos tipos de fecha y hora.
Usar date como un tipo de datos distinto
A partir de SQL Server 2008 (10.0.x), la compatibilidad mejorada con los tipos de fecha y hora hace que el uso del tipo DBTYPE_DBDATE de OLE DB resulte más eficaz.
Usar time como un tipo de datos distinto
OLE DB ya tiene un tipo de datos que solamente contiene la hora, DBTYPE_DBTIME, que ofrece una precisión de 1 segundo.
El nuevo tipo de datos de hora de SQL Server tiene una precisión de 100 nanosegundos para las fracciones de segundo. Esto requiere un nuevo tipo en OLE DB Driver for SQL Server: DBTYPE_DBTIME2. Las aplicaciones existentes escritas para utilizar horas sin fracciones de segundo pueden utilizar columnas time(0). El tipo existente DBTYPE_TIME de OLE DB y sus estructuras correspondientes deberían funcionar correctamente, a menos que las aplicaciones se basen en el tipo devuelto en los metadatos.
Usar time como un tipo de datos distinto con una precisión ampliada para las fracciones de segundo
Algunas aplicaciones, como las aplicaciones de fabricación y control de procesos, exigen la capacidad de controlar los datos de hora con una precisión de hasta 100 nanosegundos. El nuevo tipo para este propósito en OLE DB es DBTYPE_DBTIME2.
Usar el tipo datetime con una precisión ampliada para las fracciones de segundo
OLE DB ya define un tipo con una precisión de hasta 1 nanosegundo. Sin embargo, este tipo ya se utiliza en aplicaciones SQL Server existentes y estas aplicaciones tienen una expectativa de tan solo 1/300 de precisión en segundos. El nuevo tipo datetime2(3) no es directamente compatible con el tipo datetime existente. Si existe el riesgo de que esto afecte al comportamiento de la aplicación, las aplicaciones deben utilizar una nueva marca DBCOLUMN para determinar el tipo de servidor real.
Usar el tipo datetime con una precisión ampliada para las fracciones de segundo y la zona horaria
Algunas aplicaciones requieren valores de fecha y hora con información de zona horaria. Esto es compatible con el nuevo tipo de DBTYPE_DBTIMESTAMPOFFSET.
Usar datos de tipo date/time/datetime/datetimeoffset con conversiones de cliente coherentes con las conversiones existentes
Estas conversiones se han ampliado de modo coherente para incluir conversiones entre todos los tipos de fecha y hora introducidos en SQL Server 2008 (10.0.x).