Esercitazione MySQL

MySQL HOME Introduzione a MySQL MySQL RDBMS

MySQL SQL

MySQL SQL SELEZIONA MySQL MySQL DOVE MySQL E, O, NON MySQL ORDINA PER MySQL INSERT IN Valori NULL MySQL AGGIORNAMENTO MySQL MySQL DELETE LIMITE MySQL MySQL MIN e MAX MySQL COUNT, MEDIO, SOMMA MySQL MI PIACE Caratteri jolly MySQL MySQL IN MySQL TRA alias MySQL MySQL si unisce MySQL INNER JIN MySQL ha lasciato il join MySQL GIUSTO UNISCITI MySQL CROSS JIN MySQL Self Join MySQL UNION MySQL GRUPPO PER MySQL AVENDO MySQL ESISTE MySQL QUALSIASI, TUTTO SELEZIONA INSERTO MySQL CASO MySQL Funzioni null di MySQL Commenti MySQL Operatori MySQL

Database MySQL

MySQL Crea DB MySQL Drop DB MySQL Crea tabella MySQL Drop Table MySQL Alter tabella Vincoli MySQL MySQL non nullo MySQL unico Chiave primaria MySQL Chiave esterna MySQL Controllo MySQL MySQL predefinito MySQL Crea indice Incremento automatico di MySQL Date MySQL Viste MySQL

Riferimenti MySQL

Tipi di dati MySQL Funzioni MySQL

Esempi MySQL

Esempi MySQL Quiz MySQL Esercizi MySQL

MySQL al lavoro con le date


Date MySQL

La parte più difficile quando si lavora con le date è assicurarsi che il formato della data che si sta tentando di inserire corrisponda al formato della colonna della data nel database.

Finché i tuoi dati contengono solo la parte della data, le tue query funzioneranno come previsto. Tuttavia, se è coinvolta una parte di tempo, diventa più complicato.


Tipi di dati della data MySQL

MySQL viene fornito con i seguenti tipi di dati per la memorizzazione di una data o di un valore di data/ora nel database:

  • DATE - formato AAAA-MM-GG
  • DATETIME - formato: AAAA-MM-GG HH:MI:SS
  • TIMESTAMP - formato: AAAA-MM-GG HH:MI:SS
  • YEAR - formato AAAA o AAAA

Nota: il tipo di dati della data viene impostato per una colonna quando crei una nuova tabella nel database!


Lavorare con le date

Guarda la seguente tabella:

Tabella degli ordini

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 un OrderDate di "2008-11-11" dalla tabella sopra.

Usiamo la seguente SELECTaffermazione:

SELECT * FROM Orders WHERE OrderDate='2008-11-11'

Il set di risultati sarà simile a questo:

OrderId ProductName OrderDate
1 Geitost 2008-11-11
3 Mozzarella di Giovanni 2008-11-11

Nota: due date possono essere facilmente confrontate se non è coinvolta alcuna componente temporale!

Ora, supponiamo che la tabella "Ordini" assomigli a questa (notare il componente temporale aggiunto nella colonna "Data ordine"):

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 utilizziamo la stessa SELECTaffermazione di cui sopra:

SELECT * FROM Orders WHERE OrderDate='2008-11-11'

non otterremo alcun risultato! Ciò è dovuto al fatto che la query cerca solo le date senza una porzione di tempo.

Suggerimento: per mantenere le tue query semplici e facili da gestire, non utilizzare componenti temporali nelle date, a meno che non sia necessario!