Miglioramenti relativi a data e ora
Si applica a: SQL Server Database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics Piattaforma di strumenti analitici (PDW)
In questo argomento viene descritto il supporto OLE DB Driver per SQL Server per i tipi di dati di data e ora aggiunti in SQL Server 2008 (10.0.x).
Per altre informazioni sui miglioramenti relativi a data/ora, vedere Miglioramenti relativi a data e ora (OLE DB).
Nelle sezioni seguenti vengono descritte le diverse modalità di utilizzo dei nuovi tipi di data e ora.
A partire da SQL Server 2008 (10.0.x), il supporto avanzato per i tipi di data/ora rende più efficiente l'uso del tipo OLE DB DBTYPE_DBDATE.
OLE DB include già un tipo di dati che contiene solo l'ora, ovvero DBTYPE_DBTIME, che garantisce precisione pari a 1 secondo.
Il nuovo tipo di dati time di SQL Server ha una precisione frazionaria dei secondi pari a 100 nanosecondi. È necessario un nuovo tipo in OLE DB Driver per SQL Server: DBTYPE_DBTIME2. Le applicazioni esistenti scritte per utilizzare le ore senza secondi frazionari possono utilizzare colonne time(0). Il tipo OLE DB DBTYPE_TIME esistente e i relativi struct funzioneranno correttamente, a meno che le applicazioni non si basino sul tipo restituito nei metadati.
Alcune applicazioni, ad esempio le applicazioni di controllo dei processi e di produzione, richiedono la possibilità di gestire i dati di tipo time con una precisione pari a fino 100 nanosecondi. A questo scopo, in OLE DB è disponibile il nuovo tipo DBTYPE_DBTIME2.
OLE DB definisce già un tipo con una precisione pari fino a 1 nanosecondo. Questo tipo, tuttavia, è già usato dalle applicazioni di SQL Server esistenti, che garantiscono una probabile precisione pari solo a 1/300 di secondo. Il nuovo tipo datetime2(3) non è direttamente compatibile con il tipo datetime esistente. Se vi è un rischio che tale tipo di dati influisca negativamente sul comportamento dell'applicazione, le applicazioni devono utilizzare un nuovo flag DBCOLUMN per determinare il tipo di server effettivo.
Alcune applicazioni richiedono valori datetime con informazioni sul fuso orario. Questa necessità è supportata dal nuovo tipo DBTYPE_DBTIMESTAMPOFFSET.
Utilizzare dati di tipo date/time/datetime/datetimeoffset con conversioni sul lato client coerenti con le conversioni esistenti
Le conversioni vengono estese in modo coerente per includere conversioni tra tutti i tipi di data e ora introdotti in SQL Server 2008 (10.0.x).