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.
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 valori della data e ora dalle parti relative
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 |
|
AAAA-MM-GG |
da 01-01-0001 a 31-12-9999 |
1 giorno |
3 |
No |
No |
|
AAAAA-MM-GG hh.mm.ss |
da 01-01-1900 a 06-06-2079 |
1 minuto |
4 |
No |
No |
|
AAAA-MM-GG hh.mm.ss[. nnn] |
da 01-01-1753 a 31-12-9999 |
0,00333 secondi |
8 |
No |
No |
|
AAAA-MM-GG hh.mm.ss[. nnnnnnn] |
da 01-01-0001 00.00.00.0000000 a 31-12-9999 23.59.59.9999999 |
100 nanosecondi |
da 6 a 8 |
Sì |
No |
|
AAAA-MM-GG 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-SQL rowversion non è relativo a data e ora. timestamp è un sinonimo deprecato 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 2012 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 datetime 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 datetime 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 datetime 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 e 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 intero che rappresenta il valore datepart dell'argomento date specificato. |
int |
Non deterministica |
|
DAY ( date ) |
Restituisce un valore intero che rappresenta la parte del giorno della date specificata. |
int |
Deterministico |
|
MONTH ( date ) |
Restituisce un valore intero che rappresenta la parte mese di un valore date specificato. |
int |
Deterministico |
|
YEAR ( date ) |
Restituisce un valore intero che rappresenta la parte dell'anno di date specificata. |
int |
Deterministica |
Funzioni che ottengono valori della data e ora dalle parti relative
Funzione |
Sintassi |
Valore restituito |
Tipo di dati restituito |
Determinismo |
---|---|---|---|---|
DATEFROMPARTS ( year, month, day ) |
Restituisce un valore di tipo date per l'anno, il mese e il giorno specificati. |
date |
Deterministica |
|
DATETIME2FROMPARTS ( year, month, day, hour, minute, seconds, fractions, precision ) |
Restituisce un valore datetime2 per la data e l'ora specificate e con la precisione indicata. |
datetime2 ( precision ) |
Deterministica |
|
DATETIMEFROMPARTS ( year, month, day, hour, minute, seconds, milliseconds ) |
Restituisce un valore di tipo datetime per la data e l'ora specificate. |
datetime |
Deterministica |
|
DATETIMEOFFSETFROMPARTS ( year, month, day, hour, minute, seconds, fractions, hour_offset, minute_offset, precision ) |
Restituisce un valore datetimeoffset per la data e l'ora specificate e con gli offset e la precisione indicati. |
datetime ( precision ) |
Deterministica |
|
SMALLDATETIMEFROMPARTS ( year, month, day, hour, minute ) |
Restituisce un valore di tipo smalldatetime per la data e l'ora specificate. |
smalldatetime |
Deterministica |
|
TIMEFROMPARTS ( hour, minute, seconds, fractions, precision ) |
Restituisce un valore time per l'ora specificate e con la precisione indicata. |
time ( precision ) |
Deterministica |
Funzioni che ottengono la differenza di data e 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. |
Tipo di dati dell'argomento date. |
Deterministica |
|
EOMONTH ( start_date [, month_to_add ] ) |
Restituisce l'ultimo giorno del mese che contiene la data specificata, con un offset facoltativo. |
Il tipo restituito è quello di start_date o datetime2(7). |
Deterministica |
|
SWITCHOFFSET (DATETIMEOFFSET , time_zone) |
SWITCHOFFSET modifica la differenza di fuso orario di un valore DATETIMEOFFSET e mantiene il valore UTC. |
datetimeoffset con la precisione in secondi frazionari di DATETIMEOFFSET |
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 tutte le lingue supportate. sp_helplanguage non è una stored procedure relativa a data oppure 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 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. |