logo

Funzioni SQL di data e ora

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:

ora metodo immagine di output

CURATO()

Restituisce la data corrente.

Domanda:

SELECT CURDATE();>

Produzione:

USCITA2

CURA()

Restituisce l'ora corrente.

Domanda:

SELECT CURTIME();>

Produzione:

USCITA3

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