A volte si tratta di data e ora in SQL può essere abbastanza complicato. Sebbene la data e l'ora siano in realtà tipi di dati completamente diversi, spesso vengono uniti in un tipo di dati data e ora. Date e ore SQL da soli sono piuttosto semplici, ma unire i due può essere uno dei compiti più dolorosi. In questo articolo impareremo in dettaglio il tipo datetime di SQL.
- Qual è il tipo di dati DateTime?
- Descrizione datetime
- Conversione di altri tipi di data e ora nel tipo di dati datetime
Qual è il tipo di dati datetime?
In SQL, appuntamento il tipo di dati data viene utilizzato per i valori che contengono sia la data che l'ora. Microsoft lo definisce come un file data combinata con un'ora del giorno con frazioni di secondo che si basa su un orologio a 24 ore .
SQL in particolare, ha molti tipi di dati che combinano le rappresentazioni di data e ora rendendo le cose più complesse. Quello più utilizzato è il DATETIME in quanto presente sin dalle precedenti versioni di SQL. SQL recupera e visualizza i valori DATETIME nel formato 'AAAA-MM-GG hh: mm: ss'. L'intervallo supportato va da '1753-01-01 00:00:00' a '9999-12-31 23: 59: 59.997'. Esploriamo il tipo data / ora in modo più dettagliato.
Descrizione datetime
Si prega di controllare la seguente tabella per saperne di più sul tipo datetime SQL.
Proprietà | Valore |
Sintassi | appuntamento |
Utilizzo | DICHIARARE @MyDatetimeappuntamento CREATE TABLE Table1 (Column1appuntamento) |
Formato | 'AAAA-MM-GG hh: mm: ss.nnn |
Intervallo di tempo | Da 00:00:00 a 23: 59: 59.997 |
Gamme di elementi |
|
Dimensioni di archiviazione analizzare il file xml in java | 8 byte |
Valore predefinito | 1900-01-01 00:00:00 |
Calendario | Gregoriano (include la gamma completa di anni.) |
Nota: I dettagli sopra si applicano al tipo datetime in Transact-SQL eServer SQL.
Così è appuntamento in SQL. Ma cosa faresti se avessi un altro appuntamento etipi di tempo e devi convertirli in appuntamento genere?
Conversione di altri tipi di data e ora nel tipo di dati datetime
Il appuntamento tipo di dati in SQL include la data e l'ora, con una parte di secondi frazionari a 3 cifre. La sua precisione è arrotondata a incrementi di .000, .003 o .007 secondi. Quindi, quando converti un file Data o tempo valori a appuntamento , al valore vengono aggiunte ulteriori informazioni. Questo perché il appuntamento il tipo di dati contiene sia la data che l'ora. Questa parte dell'articolo spiega cosa succede quando altro data e ora i tipi di dati vengono convertiti in appuntamento tipo di dati.
Esempio 1: conversione implicita tra date e datetime
DECLARE @date date = '2020-12-01' DECLARE @datetime datetime = @date
Risultato
@datetime @date ------------------------- ---------- 2016-12-21 00: 00: 00.000 2016 -12-21
Esempio 2: conversione implicita tra date e datetime utilizzando CAST ()
DECLARE @thedate date = '2020-12-01' SELECT @thedate AS 'date', CAST (@thedate AS datetime) AS 'datetime'
Risultato
@datetime @date ------------------------- ---------- 2016-12-21 00: 00: 00.000 2016 -12-21
Esempio 3: conversione implicita da smalldatetime a datetime
Quando la conversione è da s malldatetime tipo, le ore ei minuti vengono copiati. I secondi e le frazioni di secondo sono impostati sul valore 0. Il codice seguente mostra i risultati della conversione di un file smalldatetime valore in a appuntamento valore.
DECLARE @smalldatetime smalldatetime = '2020-12-01 12:32' DECLARE @datetime datetime = @smalldatetime SELEZIONA @datetime AS '@datetime', @smalldatetime AS '@smalldatetime'
Risultato
@datetime @smalldatetime ------------------------- --------------------- - 01-12-2016 12: 32: 00.000 01-12-2016 12:32:00
Allo stesso modo, puoi convertire altri file appuntamento tipi a datatime digitare implicitamente o utilizzando cast () e convertire() metodi. Come riferimento, controlla la tabella seguente per familiarizzare con i formati di tutti i tipi di data e ora.
Tipo di dati | Esempio |
tempo | 12:35:29. 1234567 |
Data | 2007-05-08 |
smalldatetime | 2007-05-08 12:35:00 |
appuntamento | 2007-05-08 12: 35: 29.123 |
datetime2 | 2007-05-08 12:35:29. 1234567 |
datetimeoffset | 2007-05-08 12: 35: 29.1234567 +12: 15 |
Con questo, siamo arrivati alla fine di questo articolo. Spero che tu abbia chiaro il contenuto discusso qui. Assicurati di esercitarti il più possibile e di ripristinare la tua esperienza.
Se desideri saperne di più su MySQL e impara a conoscere questo database relazionale open source, quindi dai un'occhiata al nostro che viene fornito con formazione dal vivo con istruttore e esperienza di progetto nella vita reale. Questa formazione ti aiuterà a comprendere in profondità MySQL e a raggiungere la padronanza dell'argomento.
Hai domande per noi? Si prega di menzionarlo nella sezione commenti di questo articolo 'Procedure in SQL' e ti risponderemo.