logo

Funcions de data SQL

En aquest tutorial, aprendrem sobre algunes de les funcions de data importants que estan incorporades a SQL.

Funcions de data en SQL:

  1. ARA ()
  2. CURDATE()
  3. CURTIME()
  4. DATA()
  5. EXTRAIG ()
  6. DATE_ADD()
  7. DATE_SUB()
  8. DATEDIFF()
  9. FORMAT DE DATA()

Vegem cadascuna de les funcions de data una per una en detall amb l'ajuda d'exemples. Utilitzarem la base de dades MySQL en exemples per escriure les consultes.

Penseu que tenim la taula d'estudiants amb les dades següents:

ID Nom DataHora_Naixement ciutat
1 Mansi Shah 2010-01-01 18:39:09 Pune
2 Tejal Wagh 2010-03-04 05:13:19 Nasik
3 Sejal Kumari 2010-05-01 10:31:07 Bombai
4 Sonal Jain 2010-09-09 17:17:07 Shimla
5 Surili Maheshwari 2010-07-10 20:45:18 Carta

Utilitzarem aquesta taula en alguns dels exemples.

1. ARA():

La funció NOW () en SQL donarà la data i l'hora del sistema actual.

Sintaxi:

 SELECT NOW (); 

Exemple:

Escriviu una consulta per mostrar la data i l'hora del sistema actual.

Consulta:

 mysql> SELECT NOW () AS Current_Date_Time; 

Aquí, hem escrit una consulta SELECT amb la funció NOW () per obtenir la data i l'hora actuals del sistema. Current_Date_Time és un àlies per emmagatzemar la data i l'hora.

Després d'executar la consulta anterior, hem obtingut la següent sortida:

Data_Hora_actual
2021-10-24 18:28:44

La data i l'hora en què s'ha executat la consulta al sistema són 24thOctubre 2021 i 18:28:44. Per tant, es mostra com a sortida.

2. CURDATE()

La funció CURDATE () en SQL donarà la data del sistema actual.

llenguatge genial

Sintaxi:

 SELECT CURDATE (); 

Exemple:

Escriviu una consulta per mostrar la data del sistema actual.

Consulta:

 mysql> SELECT CURDATE () AS CurrentDate; 

Aquí, hem escrit una consulta SELECT amb la funció CURDATE () per obtenir la data actual del sistema. CurrentDate és un àlies per emmagatzemar la data.

Després d'executar la consulta anterior, hem obtingut la següent sortida:

Data corrent
2021-10-24

La data en què es va executar la consulta al sistema és el 24thOctubre de 2021. Per tant, es mostra com a sortida.

3. CURTIME()

La funció CURTIME () en SQL donarà l'hora actual del sistema.

Sintaxi:

 SELECT CURTIME (); 

Exemple:

Escriu una consulta per mostrar l'hora del sistema actual.

Consulta:

 mysql> SELECT CURTIME () AS CurrentTime; 

Aquí, hem escrit una consulta SELECT amb la funció CURTIME () per obtenir l'hora actual del sistema. CurrentTime és un àlies per emmagatzemar l'hora.

Després d'executar la consulta anterior, hem obtingut la següent sortida:

CurrentTime
18:49:07

L'hora en què s'ha executat la consulta al sistema és les 18:49:07. Per tant, es mostra com a sortida.

4. DATA()

Mitjançant la funció DATE () a SQL, podeu extreure específicament la data de la columna de tipus de dades DATETIME.

Sintaxi:

 SELECT DATE (DateTimeValue); 

Exemple 1:

Escriviu una consulta per mostrar la data a partir de la data i l'hora indicades, és a dir, 2021-10-24 18:28:44.

Consulta:

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

Aquí, hem escrit una consulta SELECT amb la funció DATE () per obtenir només la data del paràmetre de data i hora passat a la funció DATE(). SHOW_DATE és un àlies per emmagatzemar la data.

Després d'executar la consulta anterior, hem obtingut la següent sortida:

SHOW_DATE
2021-10-24

A partir del paràmetre de data i hora, és a dir, '2021-10-24 18:28:44', el valor de la data és 2021-10-24. Per tant, es mostra com a sortida.

Exemple 2:

Escriviu una consulta per mostrar tots els detalls de la taula de l'estudiant amb la data de la columna DateTime_Birth de la taula de l'estudiant.

Consulta:

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

Aquí, hem escrit una consulta SELECT per obtenir l'ID i el nom. Data_of_Birth és un àlies per a DateTime_Birth. Hem utilitzat la Data_of_Birth amb la funció DATE () per obtenir només la data.

Després d'executar la consulta anterior, hem obtingut la següent sortida:

ID Nom Data de naixement ciutat
1 Mansi Shah 2010-01-01 Pune
2 Tejal Wagh 2010-03-04 Nasik
3 Sejal Kumari 2010-05-01 Bombai
4 Sonal Jain 2010-09-09 Shimla
5 Surili Maheshwari 2010-07-10 Carta

Tots els registres es mostren tal com són de la taula de l'estudiant excepte la columna DateTime_Birth. Només es mostra la data a la columna Data_of_Birth segons el requisit.

5. EXTRAIG ()

Mitjançant la funció EXTRACT() en SQL, podem extreure una part específica de data i hora segons els nostres requisits: dia, mes, any, dia, hora, minut, etc.

Sintaxi:

 SELECT EXTRACT (PART FROM DATE / TIME); 

Exemple 1:

Escriviu una consulta per mostrar l'any a partir de la data indicada, és a dir, 24thOctubre 2021.

Consulta:

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

Aquí, hem escrit una consulta SELECT amb la funció EXTRACT () per obtenir l'any a partir de la data donada. SHOW_YEAR és un àlies per emmagatzemar l'any.

Després d'executar la consulta anterior, hem obtingut la següent sortida:

SHOW_YEAR
2021

'2021' és l'any a la data indicada. Per tant, es mostra com a sortida.

Exemple 2:

Escriviu una consulta per mostrar el mes a partir de la data indicada, és a dir, 24thOctubre 2021.

Consulta:

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

Aquí, hem escrit una consulta SELECT amb la funció EXTRACT () per obtenir el mes a partir de la data donada. SHOW_MONTH és un àlies per emmagatzemar el mes.

Després d'executar la consulta anterior, hem obtingut la següent sortida:

SHOW_MONTH
10

10thés el valor del mes a la data indicada. Per tant, es mostra com a sortida.

Exemple 3:

Escriviu una consulta per mostrar el dia a partir de la data indicada, és a dir, 24thOctubre 2021.

Consulta:

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

Aquí, hem escrit una consulta SELECT amb la funció EXTRACT () per obtenir el dia a partir de la data donada. SHOW_DAY és un àlies per emmagatzemar el dia.

Linux canvia el nom del directori

Després d'executar la consulta anterior, hem obtingut la següent sortida:

SHOW_DAY
24

24thés el valor del dia a la data especificada. Per tant, es mostra com a sortida.

Exemple 4:

Escriviu una consulta per mostrar l'hora des de l'hora indicada, és a dir, 19:10:43.

Consulta:

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

Aquí, hem escrit una consulta SELECT amb la funció EXTRACT () per obtenir l'hora a partir de l'hora donada. SHOW_HOUR és un àlies per emmagatzemar el valor d'una hora.

Després d'executar la consulta anterior, hem obtingut la següent sortida:

SHOW_HOUR
19

'19' és el valor de l'hora en el temps donat. Per tant, es mostra com a sortida.

Exemple 5:

Escriviu una consulta per mostrar el minut de l'hora indicada, és a dir, 19:10:43.

Consulta:

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

Aquí, hem escrit una consulta SELECT amb la funció EXTRACT () per obtenir el valor del minut del temps donat. SHOW_MINUTE és un àlies per emmagatzemar el minut.

Després d'executar la consulta anterior, hem obtingut la següent sortida:

SHOW_MINUTE
10

'10' és el valor del minut en el temps donat. Per tant, es mostra com a sortida.

Exemple 6:

Escriviu una consulta per mostrar els segons de l'hora indicada, és a dir, 19:10:43.

Consulta:

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

Aquí, hem escrit una consulta SELECT amb la funció EXTRACT () per obtenir el valor dels segons del temps donat. SHOW_SECOND és un àlies per emmagatzemar el valor d'un segon.

Després d'executar la consulta anterior, hem obtingut la següent sortida:

SHOW_SECOND
43

43 és el segon valor en el temps donat. Per tant, es mostra com a sortida.

6. DATE_ADD()

Utilitzant la funció DATE_ADD () a SQL, podem afegir un interval de temps específic a la data donada.

Sintaxi:

 SELECT DATE_ADD (DATE, INTERVAL VALUE Unit_to_be_added); 

Exemple 1:

Escriviu una consulta per afegir un interval de 15 dies a la data indicada, és a dir, 24thOctubre, 2021.

Consulta:

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

Aquí, hem escrit una consulta SELECT amb la funció DATE_ADD () per afegir un interval de 15 dies a la data donada. NEW_DATE és un àlies per emmagatzemar el valor d'una nova data.

Obtindreu la següent sortida:

NEW_DATE
2021-11-08

Després d'afegir un interval de 15 dies al 24/10/2021, la nova data és el 08/11/2021.

Exemple 2:

Escriviu una consulta per afegir un interval de 5 mesos a la data indicada, és a dir, 24thOctubre, 2021.

Consulta:

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

Aquí, hem escrit una consulta SELECT amb la funció DATE_ADD () per afegir un interval de 5 mesos a la data donada. NEW_DATE és un àlies per emmagatzemar el valor d'una nova data.

verificació nul de java

Obtindreu la següent sortida:

NEW_DATE
2022-03-24

Després d'afegir un interval de 5 mesos al 2021-10-24, la nova data és el 2022-03-24.

Exemple 3:

Escriviu una consulta per afegir un interval de 25 anys a la data donada, és a dir, 24thOctubre, 2021.

Consulta:

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

Aquí, hem escrit una consulta SELECT amb la funció DATE_ADD () per afegir un interval de 25 anys a la data donada. NEW_DATE és un àlies per emmagatzemar el valor d'una nova data.

Obtindreu la següent sortida:

NEW_DATE
2046-10-24

Després d'afegir un interval de 25 anys al 24/10/2021, la nova data és el 24/10/2046.

7. DATE_SUB()

Utilitzant la funció DATE_SUB () a SQL, podem eliminar un interval de temps específic de la data donada.

Sintaxi:

 SELECT DATE_SUB (DATE, INTERVAL VALUE Unit_to_be_subtracted); 

Exemple 1:

Escriviu una consulta per eliminar un interval de 25 anys a partir de la data indicada, és a dir, 24thOctubre, 2021.

Consulta:

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

Aquí, hem escrit una consulta SELECT amb la funció DATE_SUB() per eliminar un interval de 25 anys a partir de la data donada. NEW_DATE és un àlies per emmagatzemar el valor d'una nova data.

Obtindreu la següent sortida:

NEW_DATE
1996-10-24

Després d'eliminar l'interval de 25 anys del 24/10/2021, la nova data és el 24/10/1996.

Exemple 2:

Escriu una consulta per eliminar un interval de 5 mesos a partir de la data indicada, és a dir, 24thOctubre, 2021.

canviar el nom del directori a linux

Consulta:

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

Aquí, hem escrit una consulta SELECT amb la funció DATE_SUB() per eliminar un interval de 5 mesos a partir de la data donada. NEW_DATE és un àlies per emmagatzemar el valor d'una nova data.

Obtindreu la següent sortida:

NEW_DATE
2021-05-24

Després d'eliminar l'interval de 5 mesos del 24/10/2021, la nova data és el 24/05/2021.

Exemple 3:

Escriviu una consulta per eliminar un interval de 15 dies a partir de la data indicada, és a dir, 24thOctubre, 2021.

Consulta:

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

Aquí, hem escrit una consulta SELECT amb la funció DATE_SUB() per eliminar un interval de 15 dies a partir de la data donada. NEW_DATE és un àlies per emmagatzemar el valor d'una nova data.

Obtindreu la següent sortida:

NEW_DATE
2021-10-09

Després d'eliminar l'interval de 15 dies del 24/10/2021, la nova data és el 09/10/2021.

8. DATEDIFF()

L'ús de la funció DATEDIFF() en SQL ens donarà el nombre de dies que hi ha entre les dues dates donades.

Sintaxi:

 SELECT DATEDIFF(Date1, Date2); 

Exemple 1:

Escriu una consulta per calcular la diferència entre dues dates donades, és a dir, 24thoctubre de 2021 i 9thOctubre, 2021.

Consulta:

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

Aquí, hem escrit una consulta SELECT amb la funció DATE_DIFF() per obtenir la diferència entre les dates 2021-10-24 i 2021-10-09. Number_of_Days és un àlies per emmagatzemar la diferència pel que fa al nombre de dies.

Obtindreu la següent sortida:

Nombre_de_dies
15

Hi ha una diferència de 15 dies entre les dates 2021-10-24 i 2021-10-09.

Exemple 2:

Escriu una consulta per calcular la diferència entre dues dates donades, és a dir, 5thmaig de 2018 i 5thmaig, 2008.

Consulta:

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

Aquí, hem escrit una consulta SELECT amb la funció DATE_DIFF () per obtenir la diferència entre les dates 2018-05-05 i 2008-05-05. Number_of_Days és un àlies per emmagatzemar la diferència pel que fa al nombre de dies.

Obtindreu la següent sortida:

Nombre_de_dies
3652

Hi ha una diferència de 3652 dies entre les dates 2018-05-05 i 2008-05-05.

9. DATE_FORMAT()

Mitjançant la funció DATE_FORMAT () en SQL, podem mostrar la data o la informació relacionada amb l'hora d'una manera ben formatada.

Sintaxi d'utilitzar una funció DATE_FORMAT a la columna d'una taula:

 SELECT DATE_FORMAT (ColumnName, Expression) FROM Table Name; 

O

Sintaxi per formatar una data específica:

 SELECT DATE_FORMAT (Date, Expression); 

Exemple 1:

Escriviu una consulta per mostrar la data donada d'una manera ben formatada, és a dir, 24thOctubre, 2021.

Consulta:

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

Aquí, hem escrit una consulta SELECT amb la funció DATE_FORMAT () per obtenir la data 2021-10-24 en el format format. Formatted_Date és un àlies per emmagatzemar la data amb format.

què és desktop.ini

Obtindreu la següent sortida:

Data_formatat
Diumenge 24 d'octubre de 2021

El diumenge 24 d'octubre de 2021 és la data amb format per al 24-10-2021.

Exemple 2:

Escriviu una consulta per mostrar la data i l'hora donades d'una manera ben formatada, és a dir, 24thOctubre, 2021 22:30:17.

Consulta:

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

Aquí, hem escrit una consulta SELECT amb la funció DATE_FORMAT () per obtenir la data i l'hora '2021-10-24 22:30:17' en el format format. Formatted_DateTime és un àlies per emmagatzemar la data i l'hora amb format.

Obtindreu la següent sortida:

Format_DateTime
Diumenge, 24 d'octubre de 2021 22:30:17

Diumenge 24 d'octubre de 2021 a les 22:30:17 és la data i l'hora amb format del 24/10/2021 a les 22:30:17.

Exemple 3:

Escriviu una consulta per mostrar tots els detalls de la columna de l'estudiant amb la columna DateTime_Birth d'una manera ben formatada.

Consulta:

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

Aquí, hem escrit una consulta SELECT amb la funció DATE_FORMAT () per obtenir la data i l'hora de tots els registres en forma formatada. Formatted_DateTime és un àlies per emmagatzemar la data i l'hora amb format.

Obtindreu la següent sortida:

ID Nom Format_DateTime ciutat
1 Mansi Shah Divendres, 1 de gener de 2010 18:39:09 Pune
2 Tejal Wagh Dijous, 4 de març de 2010 05:13:19 Nasik
3 Sejal Kumari Dissabte, 1 de maig de 2010 10:31:07 Bombai
4 Sonal Jain Dijous, 9 de setembre de 2010 17:17:07 Shimla
5 Surili Maheshwari Dissabte, 10 de juliol de 2010 20:45:18 Carta

Tots els registres es mostren tal com són de la taula de l'estudiant excepte la columna DateTime_Birth. Només es mostren la data i l'hora a la columna Formatted_DateTime tal com es requereix.