In questo tutorial impareremo alcune delle importanti funzioni di data integrate in SQL.
Funzioni di data in SQL:
- ORA()
- CURATO()
- CURA()
- DATA()
- ESTRATTO()
- DATA_ADD()
- DATA_SUB()
- DATAIFF()
- 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.