Funzioni e tipi di dati di data e ora (Transact-SQL)
Le sezioni seguenti in questo argomento forniscono una panoramica di tutti i tipi di dati e funzioni di data e ora Transact-SQL. Per informazioni ed esempi comuni ai tipi di dati e alle funzioni di data e ora, vedere Utilizzo di dati relativi a data e ora.
Tipi di dati di data e ora
Funzioni di data e ora
Funzione che ottiene valori della data e ora di sistema
Funzioni che ottengono parti della data e ora
Funzioni che ottengono la differenza di data e ora
Funzioni che modificano i valori di data e ora
Funzioni che impostano oppure ottengono funzioni di formato sessione
Funzioni che convalidano i valori di data e ora
Argomenti correlati a data e ora
Tipi di dati di data e ora
I tipi di dati di data e ora Transact-SQL sono elencati nella seguente tabella.
Tipo di dati |
Formato |
Intervallo |
Accuratezza |
Dimensioni dello spazio di archiviazione (in byte) |
Precisione in secondi frazionari definita dall'utente |
Differenza di fuso orario |
---|---|---|---|---|---|---|
hh:mm:ss[.nnnnnnn] |
da 00:00:00.0000000 a 23:59:59.9999999 |
100 nanosecondi |
da 3 a 5 |
Sì |
No |
|
YYYY-MM-DD |
da 0001-01-01 a 9999-12-31 |
1 giorno |
3 |
No |
No |
|
YYYY-MM-DD hh:mm:ss |
da 1900-01-01 a 2079-06-06 |
1 minuto |
4 |
No |
No |
|
YYYY-MM-DD hh:mm:ss[.nnn] |
da 1753-01-01 a 9999-12-31 |
0,00333 secondi |
8 |
No |
No |
|
YYYY-MM-DD hh:mm:ss[.nnnnnnn] |
da 0001-01-01 00:00:00.0000000 a 9999-12-31 23:59:59.9999999 |
100 nanosecondi |
da 6 a 8 |
Sì |
No |
|
YYYY-MM-DD hh:mm:ss[.nnnnnnn] [+|-]hh:mm |
da 0001-01-01 00:00:00.0000000 a 9999-12-31 23:59:59.9999999 (in UTC) |
100 nanosecondi |
da 8 a 10 |
Sì |
Sì |
[!NOTA]
Il tipo di dati Transact-SQLrowversion non è un tipo di dati date o time. timestamp è un sinonimo obsoleto per rowversion.
Funzioni di data e ora
Le funzioni di data e ora Transact-SQL sono elencate nelle seguenti tabelle. Per ulteriori informazioni sulle funzioni deterministiche, vedere Funzioni deterministiche e non deterministiche.
Funzioni che ottengono valori della data e ora di sistema
Tutti i valori di data e ora derivano dal sistema operativo del computer in cui è in esecuzione l'istanza di SQL Server.
Funzioni di data e ora di sistema con precisione superiore
In SQL Server 2008 i valori di data e ora vengono ottenuti tramite l'API Windows GetSystemTimeAsFileTime(). L'accuratezza dipende dall'hardware e dalla versione di Windows del computer in cui è in esecuzione l'istanza di SQL Server. La precisione di tale API è fissata sul valore di 100 nanosecondi. L'accuratezza può essere determinata utilizzando l'API Windows GetSystemTimeAdjustment().
Funzione |
Sintassi |
Valore restituito |
Tipo di dati restituito |
Determinismo |
---|---|---|---|---|
SYSDATETIME () |
Restituisce il valore datetime2(7) che contiene la data e l'ora del computer in cui è in esecuzione l'istanza di SQL Server. La differenza di fuso orario non è inclusa. |
datetime2(7) |
Non deterministica |
|
SYSDATETIMEOFFSET ( ) |
Restituisce il valore datetimeoffset(7) che contiene la data e l'ora del computer in cui è in esecuzione l'istanza di SQL Server. La differenza di fuso orario è inclusa. |
datetimeoffset(7) |
Non deterministica |
|
SYSUTCDATETIME ( ) |
Restituisce il valore datetime2(7) che contiene la data e l'ora del computer in cui è in esecuzione l'istanza di SQL Server. La data e l'ora vengono restituite in formato ora UTC (Coordinated Universal Time). |
datetime2(7) |
Non deterministica |
Funzioni di data e ora di sistema con precisione inferiore
Funzione |
Sintassi |
Valore restituito |
Tipo di dati restituito |
Determinismo |
---|---|---|---|---|
CURRENT_TIMESTAMP |
Restituisce il valore datetime2(7) che contiene la data e l'ora del computer in cui è in esecuzione l'istanza di SQL Server. La differenza di fuso orario non è inclusa. |
datetime |
Non deterministica |
|
GETDATE ( ) |
Restituisce il valore datetime2(7) che contiene la data e l'ora del computer in cui è in esecuzione l'istanza di SQL Server. La differenza di fuso orario non è inclusa. |
datetime |
Non deterministica |
|
GETUTCDATE ( ) |
Restituisce il valore datetime2(7) che contiene la data e l'ora del computer in cui è in esecuzione l'istanza di SQL Server. La data e l'ora vengono restituite in formato ora UTC (Coordinated Universal Time). |
datetime |
Non deterministica |
Funzioni che ottengono parti della data ed ora
Funzione |
Sintassi |
Valore restituito |
Tipo di dati restituito |
Determinismo |
---|---|---|---|---|
DATENAME ( datepart , date ) |
Restituisce una stringa di caratteri che rappresenta la datepart della data specificata. |
nvarchar |
Non deterministica |
|
DATEPART ( datepart , date ) |
Restituisce un valore integer che rappresenta il valore datepart dell'argomento date specificato. |
int |
Non deterministica |
|
DAY ( date ) |
Restituisce un valore integer che rappresenta la parte del giorno della date specificata. |
int |
Deterministico |
|
MONTH ( date ) |
Restituisce un valore integer che rappresenta la parte mese di un valore date specificato. |
int |
Deterministico |
|
YEAR ( date ) |
Restituisce un valore integer che rappresenta la parte dell'anno di date specificata. |
int |
Deterministico |
Funzioni che ottengono la differenza della data ed ora
Funzione |
Sintassi |
Valore restituito |
Tipo di dati restituito |
Determinismo |
---|---|---|---|---|
DATEDIFF ( datepart , startdate , enddate ) |
Restituisce il numero di limiti di datepart della data e ora che si sovrappongono tra due date specificate. |
int |
Deterministico |
Funzioni che modificano i valori di data e ora
Funzione |
Sintassi |
Valore restituito |
Tipo di dati restituito |
Determinismo |
---|---|---|---|---|
DATEADD (datepart , number , date ) |
Restituisce un valore datetime nuovo aggiungendo un intervallo al datepart specificato del date specificato. |
Il tipo di dati dell'argomento date. |
Deterministico |
|
SWITCHOFFSET (DATETIMEOFFSET , time_zone) |
SWITCHOFFSET modifica la differenza di fuso orario di un valore DATETIMEOFFSET e mantiene il valore UTC. |
datetimeoffsetdatetimeoffset con la precisione in secondi frazionari di DATETIMEOFFSETDATETIMEOFFSET |
Deterministico |
|
TODATETIMEOFFSET (expression , time_zone) |
TODATETIMEOFFSET trasforma il valore datetime2 in un valore datetimeoffset. Il valore datetime2 viene interpretato come ora locale in base al valore time_zone specificato. |
datetimeoffset con la precisione in secondi frazionari dell'argomento datetime |
Deterministico |
Funzioni che impostano oppure ottengono il formato Get Session
Funzione |
Sintassi |
Valore restituito |
Tipo di dati restituito |
Determinismo |
---|---|---|---|---|
@@DATEFIRST |
Restituisce il valore corrente, per la sessione, di SET DATEFIRST. |
tinyint |
Non deterministica |
|
SET DATEFIRST { number | @number_var } |
Imposta il primo giorno della settimana su un numero compreso tra 1 e 7. |
Non applicabile |
Non applicabile |
|
SET DATEFORMAT { format | @format_var } |
Imposta l'ordine delle parti della data (mese/giorno/anno) per l'immissione di dati di tipo datetime o smalldatetime. |
Non applicabile |
Non applicabile |
|
@@LANGUAGE |
Restituisce il nome della lingua correntemente in uso. @@LANGUAGE non è una data o una funzione dell'ora. Comunque, l'impostazione della lingua può influire sull'output di funzioni di data. |
Non applicabile |
Non applicabile |
|
SET LANGUAGE { [ N ] 'language' | @language_var } |
Imposta la lingua per la sessione e i messaggi di sistema. SET LANGUAGE non è una data o una funzione dell'ora. Comunque, l'impostazione della lingua influisce sull'output di funzioni di data. |
Non applicabile |
Non applicabile |
|
sp_helplanguage [ [ @language = ] 'language' ] |
Restituisce informazioni su formati della data di tutti i linguaggi supportati. sp_helplanguage non è una data o un stored procedure dell'ora. Comunque, l'impostazione della lingua influisce sull'output di funzioni di data. |
Non applicabile |
Non applicabile |
Funzioni che convalidano i valori di data e ora
Funzione |
Sintassi |
Valore restituito |
Tipo di dati restituito |
Determinismo |
---|---|---|---|---|
ISDATE ( expression ) |
Determina se un datetime o l'espressione di input smalldatetime è un valore di data o di ora valido. |
int |
La funzione ISDATE è deterministica solo se utilizzata con la funzione CONVERT, quando viene specificato il parametro di stile della funzione CONVERT e se lo stile è diverso da 0, 100, 9 o 109. |
Argomenti correlati a data e ora
Argomento |
Descrizione |
---|---|
Fornisce informazioni ed esempi comuni ai tipi di dati e alle funzioni di data e ora. |
|
Fornisce informazioni sulla conversione di valori della data e ora in e da valori letterali stringa e altri formati della data e ora. |
|
Fornisce linee guida per la portabilità di database e applicazioni database che utilizzano istruzioni Transact-SQL da una lingua all'altra o che supportano più lingue. |
|
Fornisce informazioni sulle funzioni scalari ODBC che possono essere utilizzate nelle istruzioni Transact-SQL. Include le funzioni di data e ora ODBC. |
|
Fornisce informazioni sulla modalità in cui i tipi di dati di data e ora influiscono sulle query distribuite tra server con versioni diverse di SQL Server o provider differenti. |