Sommario: in questo tutorial, imparerete come utilizzare SQL Server DATETIME2
per memorizzare dati di data e ora in una tabella.
Introduzione a SQL Server DATETIME2
Per memorizzare data e ora nel database, si utilizza il tipo di dati SQL Server DATETIME2
.
La sintassi di DATETIME2
è la seguente:
Code language: SQL (Structured Query Language) (sql)
La precisione frazionaria dei secondi è facoltativa. Varia da 0 a 7.
La seguente istruzione illustra come creare una tabella costituita da una colonna DATETIME2
:
Code language: SQL (Structured Query Language) (sql)
Il DATETIME2
ha due componenti: data e ora.
- La data ha un intervallo dal 01 gennaio, 01 (0001-01-01) a dicembre 31, 9999 (9999-12-31)
- Il tempo ha un intervallo da 00:00:00 a 23: 59: 59.9999999.
La dimensione di archiviazione di un valore DATETIME2
dipende dalla precisione dei secondi frazionari. Richiede 6 byte per la precisione inferiore a 3, 7 byte per la precisione compresa tra 3 e 4 e 8 byte per tutte le altre precisioni.
Il formato letterale di stringa predefinito di DATETIME2
è il seguente:
Code language: SQL (Structured Query Language) (sql)
In questo formato:
-
YYYY
è un numero di quattro cifre che rappresenta un anno, ad esempio 2018. Varia da 0001 a 9999. -
MM
è un numero a due cifre che rappresenta un mese in un anno, ad esempio, 12. Varia da 01 a 12. -
DD
è un numero a due cifre che rappresenta un giorno di un mese specificato, ad esempio 23. Varia da 01 a 31. -
hh
è un numero a due cifre che rappresenta l’ora. Varia da 00 a 23. -
mm
è un numero a due cifre che rappresenta il minuto. Varia da 00 a 59. -
ss
è un numero a due cifre che rappresenta il secondo. Varia da 00 a 59. - I secondi frazionari sono da zero a un numero di sette cifre che varia da 0 a 9999999.
SQL Server DATETIME2 esempio
La seguente istruzione crea una nuova tabella con una colonna created_at
il cui tipo di dati è DATETIME2
:
Code language: SQL (Structured Query Language) (sql)
Per inserire la data e l’ora correnti nella colonna created_at
, utilizzare la seguente istruzione INSERT
con la funzione GETDATE
() :
Code language: SQL (Structured Query Language) (sql)
Il GETDATE
() la funzione è simile a NOW()
funzione in altri sistemi di database come MySQL
Per inserire un valore letterale in DATETIME2
colonna, è possibile utilizzare la seguente istruzione:
Code language: SQL (Structured Query Language) (sql)
Se si desidera impostare il valore predefinito per il created_at
colonna per la data e l’ora corrente, è possibile utilizzare il seguente ALTER TABLE
istruzione:
Code language: SQL (Structured Query Language) (sql)
In questa dichiarazione, si usa CURRENT_TIMESTAMP
come valore predefinito per il created_at
colonna. Si noti che CURRENT_TIMESTAMP
restituisce lo stesso valore della funzione GETDATE
().
Ora, quando si inserisce una nuova riga nella tabella senza specificare il valore per la colonna created_at
, SQL Server utilizzerà il valore di data e ora corrente per quella colonna:
Code language: SQL (Structured Query Language) (sql)
In questo tutorial, è stato appreso come utilizzare il tipo di dati SQL Server DATETIME2
per memorizzare dati di data e ora in una tabella.