logo

Funzioni di data SQL

In questo tutorial impareremo alcune delle importanti funzioni di data integrate in SQL.

Funzioni di data in SQL:

  1. ORA()
  2. CURATO()
  3. CURA()
  4. DATA()
  5. ESTRATTO()
  6. DATA_ADD()
  7. DATA_SUB()
  8. DATAIFF()
  9. FORMATO DATA()

Vediamo ciascuna delle funzioni della data una per una in dettaglio con l'aiuto di esempi. Utilizzeremo il database MySQL negli esempi per scrivere le query.

Consideriamo di avere la tabella degli studenti con i seguenti dati:

ID Nome DateTime_Nascita Città
1 Mansi Shah 2010-01-01 18:39:09 Puna
2 Tejal Wagh 2010-03-04 05:13:19 Nasik
3 Sejal Kumari 2010-05-01 10:31:07 Bombay
4 Sonal Jain 2010-09-09 17:17:07 Shimla
5 Surili Maheshwari 2010-07-10 20:45:18 Lettera

Utilizzeremo questa tabella in alcuni esempi.

1. ORA():

La funzione NOW () in SQL fornirà la data e l'ora del sistema corrente.

Sintassi:

 SELECT NOW (); 

Esempio:

Scrivi una query per visualizzare la data e l'ora del sistema corrente.

Domanda:

 mysql> SELECT NOW () AS Current_Date_Time; 

Qui abbiamo scritto una query SELECT con la funzione NOW () per ottenere la data e l'ora correnti del sistema. Current_Date_Time è un alias per memorizzare la data e l'ora.

Dopo aver eseguito la query precedente, abbiamo ottenuto il seguente output:

Data_Ora_attuale
2021-10-24 18:28:44

La data e l'ora in cui è stata eseguita la query nel sistema sono 24thOttobre 2021 e 18:28:44. Pertanto, viene visualizzato come output.

2. CURDATO()

La funzione CURDATE () in SQL fornirà la data del sistema corrente.

bordo CSS

Sintassi:

 SELECT CURDATE (); 

Esempio:

Scrivi una query per visualizzare la data del sistema corrente.

Domanda:

 mysql> SELECT CURDATE () AS CurrentDate; 

Qui abbiamo scritto una query SELECT con la funzione CURDATE () per ottenere la data corrente del sistema. CurrentDate è un alias per memorizzare la data.

Dopo aver eseguito la query precedente, abbiamo ottenuto il seguente output:

Data odierna
2021-10-24

La data in cui è stata eseguita la query nel sistema è 24thOttobre 2021. Pertanto, viene visualizzato come output.

3. CORTESIA()

La funzione CURTIME () in SQL fornirà l'ora del sistema corrente.

Sintassi:

 SELECT CURTIME (); 

Esempio:

Scrivi una query per visualizzare l'ora del sistema corrente.

Domanda:

 mysql> SELECT CURTIME () AS CurrentTime; 

Qui abbiamo scritto una query SELECT con la funzione CURTIME() per ottenere l'ora corrente del sistema. CurrentTime è un alias per memorizzare l'ora.

Dopo aver eseguito la query precedente, abbiamo ottenuto il seguente output:

Ora attuale
18:49:07

L'ora in cui è stata eseguita la query nel sistema è 18:49:07. Pertanto, viene visualizzato come output.

4. DATA()

Utilizzando la funzione DATE () in SQL, è possibile estrarre in modo specifico la data dalla colonna del tipo di dati DATETIME.

Sintassi:

 SELECT DATE (DateTimeValue); 

Esempio 1:

Scrivi una query per visualizzare la data dalla data e dall'ora specificate, ad esempio 2021-10-24 18:28:44.

conversione dell'oggetto in stringa

Domanda:

 mysql> SELECT DATE ('2021-10-24 18:28:44') AS SHOW_DATE; 

Qui abbiamo scritto una query SELECT con la funzione DATE() per ottenere solo la data dal parametro data e ora passato alla funzione DATE(). SHOW_DATE è un alias per memorizzare la data.

Dopo aver eseguito la query precedente, abbiamo ottenuto il seguente output:

MOSTRA_DATA
2021-10-24

Dal parametro data e ora, ovvero '2021-10-24 18:28:44', il valore della data è 2021-10-24. Pertanto, viene visualizzato come output.

Esempio 2:

Scrivi una query per visualizzare tutti i dettagli della tabella studenti con la data della colonna DateTime_Birth della tabella studenti.

Domanda:

 mysql> SELECT ID, Name, DATE(DateTime_Birth) AS Date_of_Birth, City FROM student; 

Qui abbiamo scritto una query SELECT per recuperare l'ID e il nome. Date_of_Birth è un alias per DateTime_Birth. Abbiamo utilizzato Date_of_Birth con la funzione DATE () per ottenere solo la data.

Dopo aver eseguito la query precedente, abbiamo ottenuto il seguente output:

ID Nome Data di nascita Città
1 Mansi Shah 2010-01-01 Puna
2 Tejal Wagh 2010-03-04 Nasik
3 Sejal Kumari 2010-05-01 Bombay
4 Sonal Jain 2010-09-09 Shimla
5 Surili Maheshwari 2010-07-10 Lettera

Tutti i record vengono visualizzati così come sono dalla tabella studenti ad eccezione della colonna DateTime_Birth. Solo la data viene visualizzata nella colonna Date_of_Birth secondo il requisito.

5. ESTRAI()

Utilizzando la funzione EXTRACT() in SQL, possiamo estrarre una parte specifica di data e ora in base alle nostre esigenze: giorno, mese, anno, giorno, ora, minuto, ecc.

Sintassi:

 SELECT EXTRACT (PART FROM DATE / TIME); 

Esempio 1:

Scrivi una query per visualizzare l'anno dalla data specificata, ovvero 24thOttobre 2021.

Domanda:

 mysql> SELECT EXTRACT (YEAR FROM '2021-10-24') AS SHOW_YEAR; 

Qui abbiamo scritto una query SELECT con la funzione EXTRACT() per ottenere l'anno dalla data specificata. SHOW_YEAR è un alias per memorizzare l'anno.

Dopo aver eseguito la query precedente, abbiamo ottenuto il seguente output:

MOSTRA_ANNO
2021

'2021' è l'anno nella data indicata. Pertanto, viene visualizzato come output.

Esempio 2:

Scrivi una query per visualizzare il mese dalla data specificata, ovvero 24thOttobre 2021.

Domanda:

 mysql> SELECT EXTRACT (MONTH FROM '2021-10-24') AS SHOW_MONTH; 

Qui abbiamo scritto una query SELECT con la funzione EXTRACT() per ottenere il mese dalla data specificata. SHOW_MONTH è un alias per memorizzare il mese.

Dopo aver eseguito la query precedente, abbiamo ottenuto il seguente output:

MOSTRA_MESE
10

10thè il valore del mese nella data specificata. Pertanto, viene visualizzato come output.

Esempio 3:

Scrivi una query per visualizzare il giorno a partire dalla data specificata, ovvero 24thOttobre 2021.

Domanda:

 mysql> SELECT EXTRACT (DAY FROM '2021-10-24') AS SHOW_DAY; 

Qui abbiamo scritto una query SELECT con la funzione EXTRACT() per ottenere il giorno dalla data specificata. SHOW_DAY è un alias per memorizzare il giorno.

Dopo aver eseguito la query precedente, abbiamo ottenuto il seguente output:

MOSTRA_GIORNO
24

24thè il valore del giorno nella data specificata. Pertanto, viene visualizzato come output.

Esempio 4:

Scrivi una query per visualizzare l'ora dall'ora specificata, ovvero 19:10:43.

Domanda:

 mysql> SELECT EXTRACT (HOUR FROM '19:10:43') AS SHOW_HOUR; 

Qui abbiamo scritto una query SELECT con la funzione EXTRACT() per ottenere l'ora dall'ora specificata. SHOW_HOUR è un alias per memorizzare il valore di un'ora.

Dopo aver eseguito la query precedente, abbiamo ottenuto il seguente output:

MOSTRA_ORA
19

'19' è il valore dell'ora nell'ora specificata. Pertanto, viene visualizzato come output.

Esempio 5:

Scrivi una query per visualizzare i minuti dall'ora specificata, ovvero 19:10:43.

rendere eseguibile uno script di shell

Domanda:

 mysql> SELECT EXTRACT (MINUTE FROM '19:10:43') AS SHOW_MINUTE; 

Qui abbiamo scritto una query SELECT con la funzione EXTRACT() per ottenere il valore dei minuti dall'ora specificata. SHOW_MINUTE è un alias per memorizzare i minuti.

Dopo aver eseguito la query precedente, abbiamo ottenuto il seguente output:

MOSTRA_MINUTI
10

'10' è il valore dei minuti nell'ora specificata. Pertanto, viene visualizzato come output.

Esempio 6:

Scrivi una query per visualizzare i secondi dall'ora specificata, ovvero 19:10:43.

Domanda:

 mysql> SELECT EXTRACT (SECOND FROM '19:10:43') AS SHOW_SECOND; 

Qui abbiamo scritto una query SELECT con la funzione EXTRACT () per ottenere il valore dei secondi dall'ora specificata. SHOW_SECOND è un alias per memorizzare il valore di un secondo.

Dopo aver eseguito la query precedente, abbiamo ottenuto il seguente output:

MOSTRA_SECOND
43

43 è il secondo valore nel tempo indicato. Pertanto, viene visualizzato come output.

6. DATA_AGGIUNGI()

Utilizzando la funzione DATE_ADD () in SQL, possiamo aggiungere un intervallo di tempo specifico alla data specificata.

Sintassi:

 SELECT DATE_ADD (DATE, INTERVAL VALUE Unit_to_be_added); 

Esempio 1:

Scrivi una query per aggiungere un intervallo di 15 giorni alla data specificata, ovvero 24thOttobre 2021.

Domanda:

 mysql> SELECT DATE_ADD ('2021-10-24', INTERVAL 15 DAY) AS NEW_DATE; 

Qui abbiamo scritto una query SELECT con la funzione DATE_ADD () per aggiungere un intervallo di 15 giorni alla data specificata. NEW_DATE è un alias per memorizzare il valore di una nuova data.

Otterrai il seguente output:

NUOVA_DATA
2021-11-08

Dopo aver aggiunto l'intervallo di 15 giorni al 24-10-2021, la nuova data è 08-11-2021.

Esempio 2:

Scrivi una query per aggiungere un intervallo di 5 mesi alla data specificata, ovvero 24thOttobre 2021.

Domanda:

 mysql> SELECT DATE_ADD ('2021-10-24', INTERVAL 5 MONTH) AS NEW_DATE; 

Qui abbiamo scritto una query SELECT con la funzione DATE_ADD () per aggiungere un intervallo di 5 mesi alla data specificata. NEW_DATE è un alias per memorizzare il valore di una nuova data.

Otterrai il seguente output:

NUOVA_DATA
2022-03-24

Dopo aver aggiunto l'intervallo di 5 mesi al 24-10-2021, la nuova data è 24-03-2022.

Esempio 3:

Scrivi una query per aggiungere un intervallo di 25 anni alla data specificata, ovvero 24thOttobre 2021.

Domanda:

 mysql> SELECT DATE_ADD ('2021-10-24', INTERVAL 25 YEAR) AS NEW_DATE; 

Qui abbiamo scritto una query SELECT con la funzione DATE_ADD () per aggiungere un intervallo di 25 anni alla data specificata. NEW_DATE è un alias per memorizzare il valore di una nuova data.

Otterrai il seguente output:

NUOVA_DATA
24-10-2046

Dopo aver aggiunto l'intervallo di 25 anni al 24-10-2021, la nuova data è 24-10-2046.

7. DATA_SUB()

Utilizzando la funzione DATE_SUB () in SQL, possiamo rimuovere un intervallo di tempo specifico dalla data specificata.

Sintassi:

 SELECT DATE_SUB (DATE, INTERVAL VALUE Unit_to_be_subtracted); 

Esempio 1:

Scrivi una query per rimuovere un intervallo di 25 anni dalla data specificata, ovvero 24thOttobre 2021.

Domanda:

 mysql> SELECT DATE_SUB('2021-10-24', INTERVAL 25 YEAR) AS NEW_DATE; 

Qui abbiamo scritto una query SELECT con la funzione DATE_SUB() per rimuovere un intervallo di 25 anni dalla data specificata. NEW_DATE è un alias per memorizzare il valore di una nuova data.

Otterrai il seguente output:

NUOVA_DATA
24-10-1996

Dopo aver rimosso l'intervallo di 25 anni dal 24-10-2021, la nuova data è 24-10-1996.

Esempio 2:

Scrivi una query per rimuovere un intervallo di 5 mesi dalla data specificata, ovvero 24thOttobre 2021.

Domanda:

 mysql> SELECT DATE_SUB('2021-10-24', INTERVAL 5 MONTH) AS NEW_DATE; 

Qui abbiamo scritto una query SELECT con la funzione DATE_SUB() per rimuovere un intervallo di 5 mesi dalla data specificata. NEW_DATE è un alias per memorizzare il valore di una nuova data.

Otterrai il seguente output:

NUOVA_DATA
2021-05-24

Dopo aver rimosso l'intervallo di 5 mesi dal 24-10-2021, la nuova data è 24-05-2021.

Esempio 3:

Scrivi una query per rimuovere un intervallo di 15 giorni dalla data specificata, ovvero 24thOttobre 2021.

Domanda:

 mysql> SELECT DATE_SUB('2021-10-24', INTERVAL 15 DAY) AS NEW_DATE; 

Qui abbiamo scritto una query SELECT con la funzione DATE_SUB() per rimuovere un intervallo di 15 giorni dalla data specificata. NEW_DATE è un alias per memorizzare il valore di una nuova data.

Otterrai il seguente output:

len di stringa in Java
NUOVA_DATA
2021-10-09

Dopo aver rimosso l'intervallo di 15 giorni dal 24-10-2021, la nuova data è 09-10-2021.

8. DATAIFF()

Utilizzando la funzione DATEDIFF() in SQL ci fornirà il numero di giorni che rientrano tra le due date indicate.

Sintassi:

 SELECT DATEDIFF(Date1, Date2); 

Esempio 1:

Scrivi una query per calcolare la differenza tra due date indicate, ad esempio 24thOttobre 2021 e 9thOttobre 2021.

Domanda:

 mysql> SELECT DATEDIFF('2021-10-24', '2021-10-09') AS NEW_DATE; 

Qui, abbiamo scritto una query SELECT con la funzione DATE_DIFF() per ottenere la differenza tra le date 2021-10-24 e 2021-10-09. Number_of_Days è un alias per memorizzare la differenza in termini di numero di giorni.

Otterrai il seguente output:

Numero di giorni
quindici

C'è una differenza di 15 giorni tra le date 2021-10-24 e 2021-10-09.

Esempio 2:

Scrivi una query per calcolare la differenza tra due date indicate, ad esempio 5thMaggio 2018 e 5thMaggio 2008.

Domanda:

 mysql> SELECT DATEDIFF ('2018-05-05', '2008-05-05') AS NEW_DATE; 

Qui, abbiamo scritto una query SELECT con la funzione DATE_DIFF () per ottenere la differenza tra le date 2018-05-05 e 2008-05-05. Number_of_Days è un alias per memorizzare la differenza in termini di numero di giorni.

Otterrai il seguente output:

Numero di giorni
3652

C'è una differenza di 3652 giorni tra le date 2018-05-05 e 2008-05-05.

9. DATA_FORMATO()

Utilizzando la funzione DATE_FORMAT () in SQL, possiamo visualizzare le informazioni relative alla data o all'ora in modo ben formattato.

Sintassi dell'utilizzo di una funzione DATE_FORMAT sulla colonna di una tabella:

 SELECT DATE_FORMAT (ColumnName, Expression) FROM Table Name; 

O

Sintassi per formattare una data specifica:

 SELECT DATE_FORMAT (Date, Expression); 

Esempio 1:

Scrivi una query per visualizzare la data specificata in modo ben formattato, ad esempio 24thOttobre 2021.

Domanda:

 mysql> SELECT DATE_FORMAT ('2021-10-24', '%W %D %M %Y') AS Formatted_Date; 

Qui, abbiamo scritto una query SELECT con la funzione DATE_FORMAT () per ottenere la data 2021-10-24 nel modulo formattato. Formatted_Date è un alias per memorizzare la data formattata.

quanti tasti hanno le tastiere?

Otterrai il seguente output:

Data_formattata
Domenica 24 ottobre 2021

Domenica 24 ottobre 2021 è la data formattata per il 24-10-2021.

Esempio 2:

Scrivi una query per visualizzare la data e l'ora specificate in modo ben formattato, ovvero 24thOttobre 2021 22:30:17.

Domanda:

 mysql> SELECT DATE_FORMAT ('2021-10-24 22:30:17', '%W %D %M %Y %r') AS Formatted_DateTime; 

Qui, abbiamo scritto una query SELECT con la funzione DATE_FORMAT () per ottenere la data e l'ora '2021-10-24 22:30:17' nel modulo formattato. Formatted_DateTime è un alias per memorizzare la data e l'ora formattate.

Otterrai il seguente output:

Formatted_DateTime
Domenica 24 ottobre 2021 22:30:17

Domenica 24 ottobre 2021 22:30:17 è la data e l'ora formattate per il 24-10-2021 22:30:17.

Esempio 3:

Scrivi una query per visualizzare tutti i dettagli della colonna studente con la colonna DateTime_Birth in modo ben formattato.

Domanda:

 mysql> SELECT ID, Name, DATE_FORMAT (DateTime_Birth, '%W %D %M %Y %r') AS Formatted_DateTime, City FROM student; 

Qui abbiamo scritto una query SELECT con la funzione DATE_FORMAT () per ottenere la data e l'ora di tutti i record in un modulo formattato. Formatted_DateTime è un alias per memorizzare la data e l'ora formattate.

Otterrai il seguente output:

ID Nome Formatted_DateTime Città
1 Mansi Shah Venerdì 1 gennaio 2010 18:39:09 Puna
2 Tejal Wagh Giovedì 4 marzo 2010 05:13:19 Nasik
3 Sejal Kumari Sabato 1 maggio 2010 10:31:07 Bombay
4 Sonal Jain Giovedì 9 settembre 2010 17:17:07 Shimla
5 Surili Maheshwari Sabato 10 luglio 2010 20:45:18 Lettera

Tutti i record vengono visualizzati così come sono dalla tabella studenti ad eccezione della colonna DateTime_Birth. Nella colonna Formatted_DateTime vengono visualizzate solo la data e l'ora come richiesto.