Utilizzo di dati relativi a data e ora
Data aggiornamento: 14 aprile 2006
La categoria di dati relativi a data e ora in SQL Server 2005 è costituita dai tipi di dati seguenti:
- datetime
- smalldatetime
I tipi di dati datetime e smalldatetime consentono di eseguire le operazioni seguenti:
- Immettere nuovi valori relativi a data o ora o modificare valori relativi a data e ora esistenti.
- Aggiungere e sottrarre date. Per ulteriori informazioni sulle operazioni aritmetiche relative alle date, vedere + (addizione) (Transact-SQL) e - (sottrazione) (Transact-SQL).
- Cercare una data o un'ora specifica.
È possibile eseguire alcuni calcoli aritmetici sui tipi di dati datetime e smalldatetime con funzioni di data e ora di sistema. Per ulteriori informazioni, vedere Funzioni (Transact-SQL).
Di seguito vengono fornite alcune linee guida per l'utilizzo dei dati relativi a data e ora:
Per cercare una corrispondenza esatta per quanto riguarda sia data che ora, utilizzare un segno di uguale (=). In SQL Server vengono restituiti i valori di data e ora che corrispondono esattamente a mese, giorno e anno e all'ora 00.00.00.000 (impostazione predefinita). Per ulteriori informazioni sull'ora, vedere Formati di ora.
In SQL Server i vincoli di datetime vengono valutati in fase di esecuzione. È possibile che una stringa di data corretta in base ai formati supportati per una determinata lingua non sia riconosciuta se la query viene eseguita in una connessione con impostazioni internazionali diverse. La vista seguente, ad esempio, funziona correttamente con le connessioni eseguite con la lingua impostata su Inglese (Stati Uniti), ma non con quelle eseguite con altre impostazioni per la lingua:
CREATE VIEW dbo.USA_Dates AS SELECT PurchaseOrderID, TotalDue FROM AdventureWorks.Purchasing.PurchaseOrderHeader WHERE OrderDate < 'May 1, 2002';
Quando nelle query si utilizzano costanti di tipo datetime eseguite in connessioni con impostazioni di lingua diverse, è importante verificare che il formato di data sia supportato in tutte le lingue impostate. È inoltre necessario prestare attenzione alle costanti di tipo datetime in oggetti permanenti di database internazionali, ad esempio vincoli di tabella e clausole WHERE per le viste. Nell'esempio seguente viene illustrato un metodo per verificare che una costante datetime venga interpretata nello stesso modo indipendentemente dalle impostazioni di connessione della lingua o del formato della data.
CREATE VIEW dbo.International_Dates AS SELECT PurchaseOrderID, TotalDue FROM AdventureWorks.Purchasing.PurchaseOrderHeader WHERE OrderDate < CONVERT(DATETIME,'20020501',101);
Per ulteriori informazioni, vedere Scrittura di istruzioni Transact-SQL internazionali.
In SQL Server vengono riconosciuti i dati relativi a ora e data racchiusi tra virgolette singole (') ed espressi nei formati seguenti:
- Formati di data alfabetici, ad esempio '15 aprile 1998'
- Formati di data numerici, ad esempio '15/04/1998'
- Formati stringa senza separatore '19981207' indicherebbe, ad esempio, '7 dicembre 1998'.
Vedere anche
Altre risorse
Tipi di dati data/ora (Transact-SQL)
Tipi di dati (Transact-SQL)
CAST e CONVERT (Transact-SQL)