Funzioni e tipi di dati di data e ora (Transact-SQL)
Si applica a: SQL Server Azure SQL DatabaseIstanza gestita di SQL di AzureAzure Synapse Analytics
Nelle sezioni di questo argomento vengono tratti 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
- Funzioni che restituiscono valori di data e ora di sistema
- Funzioni che restituiscono parti di data e ora
- Funzioni che restituiscono valori di data e ora dalle relative parti
- Funzioni che restituiscono valori di differenza di data e ora
- Funzioni che modificano valori di data e ora
- Funzioni che impostano o restituiscono il formato della sessione
- Funzioni che convalidano valori di data e ora
- Articoli correlati alla data e ora
Tipi di dati di data e ora
I tipi di dati di data e ora Transact-SQL sono elencati nella tabella seguente:
Tipo di dati | Formato | Intervallo | Accuratezza | Dimensioni dello spazio di archiviazione (in byte) | Precisione in secondi frazionari definita dall'utente | Differenza di fuso orario |
---|---|---|---|---|---|---|
time | hh:mm:ss[.nnnnnnn] | da 00.00.00.0000000 a 23.59.59.9999999 | 100 nanosecondi | da 3 a 5 | Sì | No |
date | YYYY-MM-DD | Da 01-01-0001 a 31-12-9999 | 1 giorno | 3 | No | No |
smalldatetime | AAAAA-MM-GG hh.mm.ss | da 01-01-1900 a 06-06-2079 | 1 minuto | 4 | No | No |
datetime | AAAA-MM-GG hh:mm:ss[.nnn] | da 01-01-1753 a 31-12-9999 | 0,00333 secondi | 8 | No | No |
datetime2 | 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 |
datetimeoffset | 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 rowversion Transact-SQL non è relativo a data e ora. timestamp è un sinonimo deprecato per rowversion.
Funzioni di data e ora
Nelle seguenti tabelle sono elencate le funzioni di data e ora Transact-SQL. Per altre informazioni sul determinismo, vedere Funzioni deterministiche e non deterministiche.
Funzioni che restituiscono valori di data e ora di sistema
Transact-SQL deriva tutti i valori di data e ora dal sistema operativo del computer in cui è in esecuzione l'istanza di SQL Server.
Funzioni di data e ora di sistema con precisione superiore
Dal SQL Server 2008 (10.0.x), il motore di database deriva i valori di data e ora tramite l'uso dell'API Windows GetSystemTimeAsFileTime(). L'accuratezza dipende dall'hardware e dalla versione di Windows del computer in cui è in esecuzione l'istanza di SQL Server. Questa API ha una precisione fissata a 100 nanosecondi. Per determinare l'accuratezza, usare l'API Windows GetSystemTimeAdjustment().
Funzione | Sintassi | Valore restituito | Tipo di dati restituito | Determinismo |
---|---|---|---|---|
SYSDATETIME | SYSDATETIME ( ) | Restituisce un valore datetime2(7) contenente la data e l'ora del computer in cui è in esecuzione l'istanza di SQL Server. Il valore restituito non include la differenza di fuso orario. | datetime2(7) | Non deterministica |
SYSDATETIMEOFFSET | SYSDATETIMEOFFSET ( ) | Restituisce un valore datetimeoffset(7) contenente la data e l'ora del computer in cui è in esecuzione l'istanza di SQL Server. Il valore restituito include la differenza di fuso orario. | datetimeoffset(7) | Non deterministica |
SYSUTCDATETIME | SYSUTCDATETIME ( ) | Restituisce un valore datetime2(7) contenente la data e l'ora del computer in cui è in esecuzione l'istanza di SQL Server. La funzione restituisce i valori di data e ora 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 | CURRENT_TIMESTAMP | Restituisce un valore datetime contenente la data e l'ora del computer in cui è in esecuzione l'istanza di SQL Server. Il valore restituito non include la differenza di fuso orario. | datetime | Non deterministica |
GETDATE | GETDATE ( ) | Restituisce un valore datetime contenente la data e l'ora del computer in cui è in esecuzione l'istanza di SQL Server. Il valore restituito non include la differenza di fuso orario. | datetime | Non deterministica |
GETUTCDATE | GETUTCDATE ( ) | Restituisce un valore datetime contenente la data e l'ora del computer in cui è in esecuzione l'istanza di SQL Server. La funzione restituisce i valori di data e ora in formato ora UTC (Coordinated Universal Time). | datetime | Non deterministica |
Funzioni che restituiscono parti di data e ora
Funzione | Sintassi | Valore restituito | Tipo di dati restituito | Determinismo |
---|---|---|---|---|
DATE_BUCKET | DATE_BUCKET ( datepart, number, date, origin ) | Restituisce un valore corrispondente all'inizio di ogni bucket di data e ora dal timestamp definito dal parametro origin o, se quest'ultimo non è specificato, il valore di origine predefinito, ovvero 1900-01-01 00:00:00.000 . |
Il tipo restituito dipende dall'argomento specificato per date. | Non deterministica |
DATENAME | DATENAME ( datepart, date ) | Restituisce una stringa di caratteri che rappresenta l'elemento datepart specificato della data indicata. | nvarchar | Non deterministica |
DATEPART | DATEPART ( datepart, date ) | Restituisce un intero che rappresenta l'elemento datepart specificato dell'elemento date indicato. | int | Non deterministica |
DATETRUNC | DATETRUNC ( datepart, date ) | Restituisce una data di input troncata a un datepart specificato. | Il tipo restituito dipende dall'argomento specificato per date. | Non deterministica |
DAY | DAY ( date ) | Restituisce un intero che rappresenta la parte relativa al giorno dell'elemento date specificato. | int | Deterministico |
MONTH | MONTH ( date ) | Restituisce un intero che rappresenta la parte relativa al mese dell'elemento date specificato. | int | Deterministico |
YEAR | YEAR ( date ) | Restituisce un intero che rappresenta la parte relativa all'anno dell'elemento date specificato. | int | Deterministico |
Funzioni che restituiscono valori di data e ora dalle relative parti
Funzione | Sintassi | Valore restituito | Tipo di dati restituito | Determinismo |
---|---|---|---|---|
DATEFROMPARTS | DATEFROMPARTS ( year, month, day ) | Restituisce un valore di tipo date per l'anno, il mese e il giorno specificati. | date | Deterministico |
DATETIME2FROMPARTS | DATETIME2FROMPARTS ( year, month, day, hour, minute, seconds, fractions, precision) | Restituisce un valore datetime2 per la data e l'ora specificate, con la precisione indicata. | datetime2(precision) | Deterministico |
DATETIMEFROMPARTS | DATETIMEFROMPARTS ( year, month, day, hour, minute, seconds, milliseconds) | Restituisce un valore di tipo datetime per la data e l'ora specificate. | datetime | Deterministico |
DATETIMEOFFSETFROMPARTS | DATETIMEOFFSETFROMPARTS ( year, month, day, hour, minute, seconds, fractions, hour_offset, minute_offset, precision) | Restituisce un valore datetimeoffset per la data e l'ora specificate, con gli offset e la precisione indicati. | datetimeoffset(precision) | Deterministico |
SMALLDATETIMEFROMPARTS | SMALLDATETIMEFROMPARTS ( year, month, day, hour, minute ) | Restituisce un valore di tipo smalldatetime per la data e l'ora specificate. | smalldatetime | Deterministico |
TIMEFROMPARTS | TIMEFROMPARTS ( hour, minute, seconds, fractions, precision ) | Restituisce un valore time per l'ora specificata, con la precisione indicata. | time(precision) | Deterministico |
Funzioni che restituiscono valori di differenza di data e ora
Funzione | Sintassi | Valore restituito | Tipo di dati restituito | Determinismo |
---|---|---|---|---|
DATEDIFF | DATEDIFF ( datepart, startdate, enddate ) | Restituisce il numero di limiti degli elementi datepart di data o ora che si sovrappongono tra due date specificate. | int | Deterministico |
DATEDIFF_BIG | DATEDIFF_BIG ( datepart, startdate, enddate ) | Restituisce il numero di limiti degli elementi datepart di data o ora che si sovrappongono tra due date specificate. | bigint | Deterministico |
Funzioni che modificano valori di data e ora
Funzione | Sintassi | Valore restituito | Tipo di dati restituito | Determinismo |
---|---|---|---|---|
DATEADD | DATEADD (datepart, number, date ) | Restituisce un nuovo valore datetime aggiungendo un intervallo alla datepart specificata della data specificata. | Tipo di dati dell'argomento date | Deterministico |
EOMONTH | EOMONTH ( start_date [, month_to_add ] ) | Restituisce l'ultimo giorno del mese contenente la data specificata, con un offset facoltativo. | Il tipo restituito corrisponde al tipo dell'argomento start_date o, in alternativa, al tipo di dati date. | Deterministico |
SWITCHOFFSET | SWITCHOFFSET (DATETIMEOFFSET, time_zone) | SWITCHOFFSET modifica la differenza di fuso orario di un valore DATETIMEOFFSET e mantiene il valore UTC. | datetimeoffset con la precisione frazionaria di DATETIMEOFFSET | Deterministico |
TODATETIMEOFFSET | TODATETIMEOFFSET (expression, time_zone) | TODATETIMEOFFSET trasforma il valore datetime2 in un valore datetimeoffset. TODATETIMEOFFSET interpreta il valore datetime2 come ora locale in base al valore time_zone specificato. | datetimeoffset con la precisione frazionaria dell'argomento datetime | Deterministico |
Funzioni che impostano o restituiscono il formato della sessione
Funzione | Sintassi | Valore restituito | Tipo di dati restituito | Determinismo |
---|---|---|---|---|
@@DATEFIRST | @@DATEFIRST | Restituisce il valore corrente, per la sessione, di SET DATEFIRST. | tinyint | Non deterministica |
SET DATEFIRST | 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 | SET DATEFORMAT { format | @format_var } | Imposta l'ordine delle datepart (mese/giorno/anno) per l'immissione di dati datetime o smalldatetime. | Non applicabile | Non applicabile |
@@LANGUAGE | @@LANGUAGE | Restituisce il nome della lingua attualmente in uso. @@LANGUAGE non è una funzione di data o ora. Comunque, l'impostazione della lingua può influire sull'output di funzioni di data. | Non applicabile | Non applicabile |
SET LANGUAGE | SET LANGUAGE { [ N ] 'language' | @language_var } | Imposta la lingua per la sessione e i messaggi di sistema. SET LANGUAGE non è una funzione di data o ora. Comunque, l'impostazione della lingua influisce sull'output di funzioni di data. | Non applicabile | Non applicabile |
sp_helplanguage | sp_helplanguage [ [ @language = ] 'language' ] | Restituisce informazioni su formati della data di tutte le lingue supportate. sp_helplanguage non è una stored procedure di data o ora. Comunque, l'impostazione della lingua influisce sull'output di funzioni di data. | Non applicabile | Non applicabile |
Funzioni che convalidano valori di data e ora
Funzione | Sintassi | Valore restituito | Tipo di dati restituito | Determinismo |
---|---|---|---|---|
ISDATE | ISDATE ( expression ) | Determina se un'espressione di input datetime o smalldatetime ha un valore di data o ora valido. | int | La funzione ISDATE è deterministica solo se viene usata con la funzione CONVERT, se viene specificato il parametro di stile della funzione CONVERT e se lo stile è diverso da 0, 100, 9 o 109. |
Articoli correlati alla data e ora
Articolo | Descrizione |
---|---|
FORMAT | Restituisce un valore formattato con il formato specificato e impostazioni cultura facoltative. Utilizzare la funzione FORMAT per formattare in base alle impostazioni locali i valori numerici e di data/ora come stringhe. |
CAST e CONVERT (Transact-SQL) | Offre informazioni sulla conversione di valori data e ora in e da valori letterali stringa e altri formati di data e ora. |
Scrittura di istruzioni Transact-SQL internazionali | Fornisce linee guida per la portabilità di database e applicazioni database che usano istruzioni Transact-SQL da una lingua a un'altra o che supportano più lingue. |
Funzioni scalari ODBC (Transact-SQL) | Fornisce informazioni sulle funzioni scalari ODBC disponibili per l'uso all'interno di istruzioni Transact-SQL, incluse le funzioni di data e ora ODBC. |
AT TIME ZONE (Transact-SQL) | Offre informazioni sulla conversione del fuso orario. |
Vedi anche
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per