Date SQL
La parte più difficile quando si lavora con le date è quello di essere sicuri che il formato della data che si sta tentando di inserire, corrisponde al formato della colonna data nel database.
Data funzioni di MySQL
La seguente tabella elenca le più importanti funzioni di data incorporate in MySQL:
Funzione | Descrizione |
---|---|
NOW() | Restituisce la data e l'ora correnti |
CURDATE() | Restituisce la data corrente |
CURTIME() | Restituisce l'ora corrente |
DATE() | Estrae la parte data di una data o una data espressione / ora |
EXTRACT() | Restituisce una singola parte di un gruppo data / ora |
DATE_ADD() | Aggiunge un intervallo di tempo specificato per una data |
DATE_SUB() | Sottrae un intervallo di tempo specificato da una data |
DATEDIFF() | Restituisce il numero di giorni tra due date |
DATE_FORMAT() | Visualizza la data / dati temporali in diversi formati |
Server Data funzioni SQL
La seguente tabella elenca le più importanti funzioni di data incorporate in SQL Server:
Funzione | Descrizione |
---|---|
GETDATE() | Restituisce la data e l'ora correnti |
DATEPART() | Restituisce una singola parte di un gruppo data / ora |
DATEADD() | Aggiunge o sottrae un intervallo di tempo specificato da una data |
DATEDIFF() | Restituisce il tempo tra due date |
CONVERT() | Visualizza la data / dati temporali in diversi formati |
SQL Data tipi di dati
MySQL viene fornito con i seguenti tipi di dati per la memorizzazione di una data o una data / valore di tempo nel database:
- DATA - formato AAAA-MM-DD
- DATETIME - formato: AAAA-MM-GG HH: MI: SS
- TIMESTAMP - formato: AAAA-MM-GG HH: MI: SS
- ANNO - AAAA formato o AA
SQL Server viene fornito con i seguenti tipi di dati per la memorizzazione di una data o una data / valore di tempo nel database:
- DATA - formato AAAA-MM-DD
- DATETIME - formato: AAAA-MM-GG HH: MI: SS
- SMALLDATETIME - formato: AAAA-MM-GG HH: MI: SS
- TIMESTAMP - Formato: un numero unico
Note: I tipi di data vengono scelti per una colonna quando si crea una nuova tabella nel database!
Per una panoramica di tutti i tipi di dati disponibili, andare al nostro completo di riferimento Tipi di dati .
SQL Utilizzo di date
È possibile confrontare due date facilmente se non vi è alcuna componente tempo necessario!
Supponiamo di avere la seguente "Orders" tabella:
OrderId | ProductName | OrderDate |
---|---|---|
1 | Geitost | 2008-11-11 |
2 | Camembert Pierrot | 2008-11-09 |
3 | Mozzarella di Giovanni | 2008-11-11 |
4 | Mascarpone Fabioli | 2008-10-29 |
Ora vogliamo selezionare i record con una OrderDate di "2008-11-11" dalla tabella di cui sopra.
Usiamo la seguente istruzione SELECT:
SELECT * FROM Orders WHERE OrderDate='2008-11-11'
Il risultato-set sarà simile a questa:
OrderId | ProductName | OrderDate |
---|---|---|
1 | Geitost | 2008-11-11 |
3 | Mozzarella di Giovanni | 2008-11-11 |
Ora, supponiamo che la "Orders" tavolo assomiglia a questo (notare la componente temporale nel "OrderDate" colonna):
OrderId | ProductName | OrderDate |
---|---|---|
1 | Geitost | 2008-11-11 13:23:44 |
2 | Camembert Pierrot | 2008-11-09 15:45:21 |
3 | Mozzarella di Giovanni | 2008-11-11 11:12:01 |
4 | Mascarpone Fabioli | 2008-10-29 14:56:59 |
Se usiamo la stessa istruzione SELECT come sopra:
SELECT * FROM Orders WHERE OrderDate='2008-11-11'
otterremo alcun risultato! Questo è perché la query è alla ricerca solo per le date con nessuna parte del tempo.
Tip: Se si desidera mantenere le vostre domande semplici e di facile manutenzione, non consentire ai componenti di tempo le date!