DATE and DATETIME

Date e orari sono tipi di dati estremamente frustranti e SQL non li rende più facile da lavorare rispetto ad altre lingue. Mentre data e ora sono in realtà tipi di dati completamente diversi, spesso vengono uniti in un tipo di dati datetime. Le date e gli orari SQL da soli sono piuttosto semplici anche se richiedono una formattazione speciale. Tuttavia, unire i due può essere uno dei compiti più dolorosi che dovrai affrontare nei tuoi primi anni. Una buona regola empirica è quella di utilizzare solo un tempo e una data insieme quando è assolutamente necessario o sarà necessario in futuro. Spiegherò perché date e orari complicano le cose in un minuto. In primo luogo, diamo un’occhiata a come la vita facile quando si lavora semplicemente con le date.

Lavorare con le date SQL

La nostra tabella” Utenti”:

id username first last member_since
1 ohBillNotAgain Hillary Clinton 2011-12-25
2 internetCreator Al Gore 2011-12-8
3 dontMessWithTexas George Bush 2011-7-9

Let’s try to get all of our members before December 25, 2011.

Esempio:

SELECT *FROM UsersWHERE member_since < '2011-12-25'

Risultato

id nome utente nome cognome member_since
2 internetCreator Al Gore 2011-12-8
3 dontMessWithTexas Giorgio Bush 2011-7-9

Bene, abbiamo detto che PRIMA di dicembre 25, 2011, il che significa che la povera Hillary non è incluso perché è in quel giorno. Al ha fatto a malapena il taglio, ma il vecchio George era molto prima della nostra data di taglio. Suppongo che dovremmo davvero parlare di quello che e ‘ successo. Fino a DOVE member_since< ‘2011-12-25’, sappiamo cosa stavano facendo. Probabilmente potremmo indovinare cosa sta succedendo qui, ma batterò il cavallo morto. Controlliamo la nostra colonna member_since per vedere se è inferiore a, <, la nostra data, che è stata scritta tra virgolette come ‘2011-12-25’. Spesso quando cerchi aiuto su Google con le date, vedi questa sintassi indicata come ‘AAAA-MM-GG’, dove Y è per l’anno, M è per il mese e D è per il giorno, ovviamente. Ogni ripetizione è un simbolo di uno spazio di carattere vuoto per quell’elemento. Quindi, vuoi solo 2 cifre per mese perché ha senso, e forse non ti interessa i primi 2 caratteri dell’anno. Invece basta scrivere, YY per ottenere 11. Abbastanza facile, sul meraviglioso DATETIMEs

Usando DATETIME in SQL

La nostra nuova tabella” Utenti”:

id username first last last_login
1 ohBillNotAgain Hillary Clinton 2011-12-24 12:59:15
2 internetCreator Al Gore 2011-12-24 11:53:25
3 dontMessWithTexas George Bush 2011-12-24 16:24:17

Ora, cerchiamo di ottenere tutti i nostri membri che hanno effettuato l’accesso prima prima di 1:00PM 24 dicembre 2011.

Esempio:

SELECT * FROM UsersWHERE last_login < '2011-12-24 13:00:00'

Risultato

id nome utente nome cognome last_login
1 ohBillNotAgain Hillary Clinton 2011-12-24 12:59:15
2 internetCreator Al Gore 2011-12-24 11:53:25

Povero George Alright Va bene, esattamente la stessa sintassi di un’ultima con tranne che abbiamo sostituito il nome della colonna e usato una stringa DATETIME da confrontare. Il tipo di dati DATETIME contiene tutti gli stessi elementi del tipo di dati DATA più una stringa di tempo. Comunemente indicato come ‘AAAA-MM-GG HH: MM: SS’ Ancora una volta, in singole citazioni e con uno spazio che separa la stringa di data dalla stringa di tempo, creiamo la nostra stringa di DATA per il confronto. Hillary e Al sia fare il taglio perché hanno effettuato l’accesso prima del ‘2011-12-24 13:00:00 ‘ tagliare DATETIME. Qui è molto più facile di quanto sembri in pratica. Questo perché abbiamo inserito la stringa DATETIME a mano. SQL ha alcune funzioni di DATA con cui puoi giocare che puoi sostituire la nostra stringa con:

Importanti funzioni di DATA SQL

Nota: le funzioni di DATA SQL differiscono notevolmente tra le versioni SQL. Questi sono MySQL.

  • CURDATE() – ottiene la data corrente
  • CURTIME() – ottiene l’ora corrente
  • NOW() – ottiene sia la data e l’ora (in formato DATETIME)

Se non si utilizza MySQL, prendere in considerazione il passaggio. Sto scherzando, tipo, ma non preoccuparti, una semplice query di Google ti aiuterà a trovare le giuste funzioni SQL per il tuo database SQL.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *