Améliorations des types de données date et heure
S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
Cette rubrique décrit la prise en charge par OLE DB Driver pour SQL Server des types de données de date et d’heure ajoutés à SQL Server 2008 (10.0.x).
Pour plus d'informations sur les améliorations apportées en matière de date et d'heure, consultez Améliorations des types de données de date et d’heure (OLE DB).
Usage
Les sections suivantes décrivent les différentes façons d'utiliser les nouveaux types de date et d'heure.
Utiliser le type Date comme type de données distinct
À partir de SQL Server 2008 (10.0.x), l’amélioration de la prise en charge des types date/heure rend plus efficace l’utilisation du type DBTYPE_DBDATE OLE DB.
Utiliser le type Time comme type de données distinct
OLE DB a déjà un type de données qui contient juste l'heure, DBTYPE_DBTIME, avec une précision de 1 seconde.
Le nouveau type de données d’heure SQL Server a une précision en fractions de seconde de 100 nanosecondes. Cela nécessite un nouveau type dans OLE DB Driver pour SQL Server : DBTYPE_DBTIME2. Les applications existantes écrites pour utiliser des heures sans fractions de seconde peuvent recourir à des colonnes time(0). Le type OLE DB DBTYPE_TIME et ses structs correspondants doivent fonctionner correctement, à moins que les applications ne reposent sur le type retourné dans les métadonnées.
Utiliser le type Time comme type de données distinct avec l'extension de la précision en fractions de seconde
Certaines applications, telles que les applications de contrôle de processus et de fabrication, requièrent la possibilité de gérer les données d'heure avec une précision allant jusqu'à 100 nanosecondes. Dans OLE DB, le nouveau type est DBTYPE_DBTIME2.
Utiliser le type Datetime avec l'extension de la précision en fractions de seconde
OLE DB définit déjà un type avec une précision allant jusqu'à 1 nanoseconde. Toutefois, ce type est déjà utilisé par les applications SQL Server existantes, lesquelles attendent une précision de 1/300 de seconde uniquement. Le nouveau type datetime2(3) n’est pas directement compatible avec le type datetime existant. S'il existe un risque que cela affecte le comportement des applications, celles-ci doivent utiliser un nouvel indicateur DBCOLUMN pour déterminer le type réel sur le serveur.
Utiliser le type Datetime avec l'extension de la précision en fractions de seconde et le fuseau horaire
Certaines applications requièrent des valeurs datetime avec les informations de fuseau horaire. Cela est pris en charge par le nouveau type DBTYPE_DBTIMESTAMPOFFSET.
Utiliser les données de type Date/Time/Datetime/Datetimeoffset avec des conversions côté client cohérentes avec les conversions existantes
Les conversions sont étendues de manière cohérente afin d’inclure celles entre tous les types relatifs à la date et à l’heure introduits dans SQL Server 2008 (10.0.x).