In SQL , le date sono complicate per i principianti, poiché mentre si lavora con un database, il formato dei dati nella tabella deve corrispondere ai dati di input da inserire. In vari scenari invece di date, viene utilizzato datetime (anche l'ora è coinvolta con la data).
Per memorizzare una data o un valore di data e ora in un database, MySQL offre i seguenti tipi di dati:
| DATA | formato AAAA-MM-GG |
| APPUNTAMENTO | formato: AAAA-MM-GG HH:MI: SS |
| TIMESTAMP | formato: AAAA-MM-GG HH:MI: SS |
| ANNO | formato AAAA o AA |
Veniamo ora ad alcune funzioni popolari nelle funzioni di data SQL.
ORA()
Restituisce la data e l'ora correnti.
Domanda:
excel rimuovi il primo carattere
SELECT NOW();>
Produzione:

CURATO()
Restituisce la data corrente.
Domanda:
SELECT CURDATE();>
Produzione:

CURA()
Restituisce l'ora corrente.
Domanda:
SELECT CURTIME();>
Produzione:

DATA()
Estrae la parte relativa alla data di un'espressione di data o data/ora. Esempio: per la tabella seguente denominata 'Test'
| Id | Nome | Ora di nascita |
|---|---|---|
| 4120 | Pratica | 26-09-1996 16:44:15.581 |
Domanda:
esportare gimp in formato jpg
SELECT Name, DATE(BirthTime) AS BirthDate FROM Test;>
Produzione:
| Nome | Data di nascita |
|---|---|
| Pratica | 26-09-1996 |
ESTRATTO()
Restituisce una singola parte di una data/ora.
Sintassi
EXTRACT(unità DA data);
differenza tra leone e tigre
Si possono prendere in considerazione diverse unità ma solo alcune vengono utilizzate come ad esempio MICROSECONDO, SECONDO, MINUTO, ORA, GIORNO, SETTIMANA, MESE, TRIMESTRE, ANNO, ecc. E 'data' è un'espressione di data valida. Esempio: per la tabella seguente denominata 'Test'
| Id | Nome | Ora di nascita |
|---|---|---|
| 4120 | Pratica | 26-09-1996 16:44:15.581 |
Domanda:
SELECT Name, Extract(DAY FROM BirthTime) AS BirthDay FROM Test;>
Produzione:
| Nome | Compleanno |
|---|---|
| Pratica | 26 |
Domanda:
SELECT Name, Extract(YEAR FROM BirthTime) AS BirthYear FROM Test;>
Produzione:
| Nome | Anno di nascita |
|---|---|
| Pratica | millenovecentonovantasei |
Domanda:
SELECT Name, Extract(SECOND FROM BirthTime) AS BirthSecond FROM Test;>
Produzione:
| Nome | NascitaSecondo |
|---|---|
| Pratica | 581 |
DATA_ADD()
Aggiunge un intervallo di tempo specificato a una data.
Sintassi:
DATE_ADD(data, tipo espressione INTERVAL);
Dove, date – espressione di data valida ed expr è il numero di intervalli che vogliamo aggiungere. e il tipo può essere uno dei seguenti: MICROSECOND, SECONDO, MINUTO, ORA, GIORNO, SETTIMANA, MESE, TRIMESTRE, ANNO, ecc. Esempio: per la tabella seguente denominata 'Test'
altrimenti Java
| Id | Nome | Ora di nascita |
|---|---|---|
| 4120 | Pratica | 26-09-1996 16:44:15.581 |
Domanda:
SELECT Name, DATE_ADD(BirthTime, INTERVAL 1 YEAR) AS BirthTimeModified FROM Test;>
Produzione:
| Nome | Ora di nascitaModificato |
|---|---|
| Pratica | 26-09-1997 16:44:15.581 |
Domanda:
SELECT Name, DATE_ADD(BirthTime, INTERVAL 30 DAY) AS BirthDayModified FROM Test;>
Produzione:
| Nome | Giorno di nascitaModificato |
|---|---|
| Pratica | 26-10-1996 16:44:15.581 |
Domanda:
SELECT Name, DATE_ADD(BirthTime, INTERVAL 4 HOUR) AS BirthHourModified FROM Test;>
Produzione:
| Nome | NascitaSecondo |
|---|---|
| Pratica | 26-10-1996 20:44:15,581 |
DATA_SUB()
Sottrae un intervallo di tempo specificato da una data. La sintassi per DATE_SUB è la stessa di DATE_ADD, la differenza è che DATE_SUB viene utilizzato per sottrarre un determinato intervallo di data.
algoritmo knn
DATAIFF()
Restituisce il numero di giorni tra due date.
Sintassi:
DATAIFF(data1, data2);
data1 e data2: espressione di data/ora
Domanda:
SELECT DATEDIFF('2017-01-13','2017-01-03') AS DateDiff;> Produzione:
| DataDiff |
|---|
| 10 |
FORMATO DATA()
Visualizza i dati di data/ora in diversi formati.
Sintassi:
DATE_FORMAT(data,formato);
la data è una data valida e il formato specifica il formato di output per la data/ora. I formati utilizzabili sono:
- %a-Nome abbreviato del giorno della settimana (domenica-sabato)
- %b-Nome abbreviato del mese (gennaio-dicembre)
- %c-mese, numerico (0-12)
- %D-giorno del mese con suffisso inglese (0°, 1°, 2°, 3°)
- %d-giorno del mese, numerico (00-31)
- %e-Giorno del mese, numerico (0-31)
- %f-Microsecondi (000000-999999)
- %H-Ora (00-23)
- %h-Ora (01-12)
- %I-Ora (01-12)
- %i-Minuti, numerico (00-59)
- %j-Giorno dell'anno (001-366)
- %k-ora (0-23)
- %l-Ora (1-12)
- %M-Nome del mese (gennaio-dicembre)
- %m-Mese, numerico (00-12)
- %p-AM o PM
- %r-Time, 12 ore (hh:mm: ss seguito da AM o PM)
- %S-secondi (00-59)
- %s-secondi (00-59)
- %T-Ora, 24 ore (hh:mm:ss)
- %U-Settimana (00-53) dove Domenica è il primo giorno della settimana
- %u-Settimana (00-53) dove Lunedì è il primo giorno della settimana
- %V-Settimana (01-53) dove domenica è il primo giorno della settimana, utilizzato con %X
- %v-Settimana (01-53) dove Lunedì è il primo giorno della settimana, utilizzato con %x
- %W-Nome del giorno della settimana (domenica-sabato)
- %w-Giorno della settimana (0=domenica, 6=sabato)
- %X-Anno per la settimana in cui domenica è il primo giorno della settimana, quattro cifre, utilizzate con %V
- %x-Anno per la settimana in cui lunedì è il primo giorno della settimana, quattro cifre, utilizzato con %v
- %Y-Anno, numerico, quattro cifre
- %y-Anno, numerico, due cifre