logo

Funciones de fecha SQL

En este tutorial, aprenderemos sobre algunas de las funciones de fecha importantes que están integradas en SQL.

Funciones de fecha en SQL:

  1. AHORA()
  2. FECHA ACTUAL()
  3. TIEMPO CORTE()
  4. FECHA()
  5. EXTRACTO()
  6. FECHA_ADD()
  7. FECHA_SUB()
  8. FECHADIFF()
  9. FORMATO DE FECHA()

Veamos cada una de las funciones de fecha una por una en detalle con la ayuda de ejemplos. Usaremos la base de datos MySQL en ejemplos para escribir las consultas.

Consideremos que tenemos la tabla de estudiantes con los siguientes datos:

IDENTIFICACIÓN Nombre FechaHora_Nacimiento Ciudad
1 Mansi Shah 2010-01-01 18:39:09 Pune
2 Tejal Wagh 2010-03-04 05:13:19 Nashik
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 Carta

Usaremos esta tabla en algunos de los ejemplos.

1. AHORA():

La función NOW () en SQL proporcionará la fecha y hora del sistema actual.

Sintaxis:

 SELECT NOW (); 

Ejemplo:

Escriba una consulta para mostrar la fecha y hora del sistema actual.

Consulta:

 mysql> SELECT NOW () AS Current_Date_Time; 

Aquí, hemos escrito una consulta SELECT con la función NOW () para obtener la fecha y hora actuales del sistema. Current_Date_Time es un alias para almacenar la fecha y la hora.

Después de ejecutar la consulta anterior, obtuvimos el siguiente resultado:

Fecha_hora_actual
2021-10-24 18:28:44

La fecha y hora en que se ejecutó la consulta en el sistema son 24thOctubre 2021 y 18:28:44. Por lo tanto, se muestra como una salida.

2. FECHA ACTUAL()

La función CURDATE () en SQL proporcionará la fecha del sistema actual.

cómo generar números aleatorios en java

Sintaxis:

 SELECT CURDATE (); 

Ejemplo:

Escriba una consulta para mostrar la fecha del sistema actual.

Consulta:

 mysql> SELECT CURDATE () AS CurrentDate; 

Aquí, hemos escrito una consulta SELECT con la función CURDATE () para obtener la fecha actual del sistema. CurrentDate es un alias para almacenar la fecha.

Después de ejecutar la consulta anterior, obtuvimos el siguiente resultado:

Fecha actual
2021-10-24

La fecha en la que se ejecutó la consulta en el sistema es 24thOctubre de 2021. Por lo tanto, se muestra como resultado.

3. TIEMPO DE CORTE()

La función CURTIME () en SQL proporcionará la hora actual del sistema.

Sintaxis:

 SELECT CURTIME (); 

Ejemplo:

Escriba una consulta para mostrar la hora del sistema actual.

Consulta:

 mysql> SELECT CURTIME () AS CurrentTime; 

Aquí, hemos escrito una consulta SELECT con la función CURTIME () para obtener la hora actual del sistema. CurrentTime es un alias para almacenar la hora.

Después de ejecutar la consulta anterior, obtuvimos el siguiente resultado:

Tiempo actual
18:49:07

La hora a la que se ejecutó la consulta en el sistema es las 18:49:07. Por lo tanto, se muestra como una salida.

4. FECHA()

Usando la función DATE () en SQL, puede extraer específicamente la fecha de la columna de tipo de datos DATETIME.

Sintaxis:

 SELECT DATE (DateTimeValue); 

Ejemplo 1:

Escriba una consulta para mostrar la fecha a partir de la fecha y hora indicadas, es decir, 2021-10-24 18:28:44.

Consulta:

anfitrión de Linux
 mysql> SELECT DATE ('2021-10-24 18:28:44') AS SHOW_DATE; 

Aquí, hemos escrito una consulta SELECT con la función DATE () para obtener solo la fecha del parámetro de fecha y hora pasado a la función DATE(). SHOW_DATE es un alias para almacenar la fecha.

Después de ejecutar la consulta anterior, obtuvimos el siguiente resultado:

MOSTRAR_FECHA
2021-10-24

A partir del parámetro de fecha y hora, es decir, '2021-10-24 18:28:44', el valor de fecha es 2021-10-24. Por lo tanto, se muestra como una salida.

Ejemplo 2:

Escriba una consulta para mostrar todos los detalles de la tabla de estudiantes con la fecha de la columna DateTime_Birth de la tabla de estudiantes.

Consulta:

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

Aquí, hemos escrito una consulta SELECT para obtener el ID y el nombre. Date_of_Birth es un alias de DateTime_Birth. Hemos utilizado la Fecha_de_Nacimiento con la función FECHA() para obtener solo la fecha.

Después de ejecutar la consulta anterior, obtuvimos el siguiente resultado:

IDENTIFICACIÓN Nombre Fecha de nacimiento Ciudad
1 Mansi Shah 2010-01-01 Pune
2 Tejal Wagh 2010-03-04 Nashik
3 Sejal Kumari 2010-05-01 Bombay
4 sonal jain 2010-09-09 Shimla
5 Surili Maheshwari 2010-07-10 Carta

Todos los registros se muestran tal como están en la tabla de estudiantes, excepto la columna FechaHora_Nacimiento. Solo la fecha se muestra en la columna Fecha_de_nacimiento según el requisito.

5. EXTRACTO()

Usando la función EXTRACT() en SQL, podemos extraer una parte específica de fecha y hora según nuestros requerimientos: día, mes, año, día, hora, minuto, etc.

Sintaxis:

 SELECT EXTRACT (PART FROM DATE / TIME); 

Ejemplo 1:

Escriba una consulta para mostrar el año a partir de la fecha indicada, es decir, 24thOctubre de 2021.

Consulta:

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

Aquí, hemos escrito una consulta SELECT con la función EXTRACT () para obtener el año a partir de la fecha indicada. SHOW_YEAR es un alias para almacenar el año.

Después de ejecutar la consulta anterior, obtuvimos el siguiente resultado:

MOSTRAR_AÑO
2021

'2021' es el año en la fecha indicada. Por lo tanto, se muestra como una salida.

Ejemplo 2:

Escriba una consulta para mostrar el mes a partir de la fecha dada, es decir, 24thOctubre de 2021.

Consulta:

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

Aquí, hemos escrito una consulta SELECT con la función EXTRACT () para obtener el mes a partir de la fecha indicada. SHOW_MONTH es un alias para almacenar el mes.

Después de ejecutar la consulta anterior, obtuvimos el siguiente resultado:

MOSTRAR_MES
10

10thes el valor del mes en la fecha dada. Por lo tanto, se muestra como una salida.

Ejemplo 3:

Escriba una consulta para mostrar el día a partir de la fecha indicada, es decir, 24thOctubre de 2021.

Consulta:

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

Aquí, hemos escrito una consulta SELECT con la función EXTRACT () para obtener el día a partir de la fecha indicada. SHOW_DAY es un alias para almacenar el día.

Después de ejecutar la consulta anterior, obtuvimos el siguiente resultado:

MOSTRAR_DIA
24

24thes el valor del día en la fecha dada. Por lo tanto, se muestra como una salida.

Ejemplo 4:

Escriba una consulta para mostrar la hora a partir de la hora indicada, es decir, 19:10:43.

Consulta:

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

Aquí, hemos escrito una consulta SELECT con la función EXTRACT () para obtener la hora a partir de la hora dada. SHOW_HOUR es un alias para almacenar el valor de una hora.

Después de ejecutar la consulta anterior, obtuvimos el siguiente resultado:

MOSTRAR_HORA
19

'19' es el valor de la hora en el tiempo dado. Por lo tanto, se muestra como una salida.

Ejemplo 5:

Escriba una consulta para mostrar el minuto de la hora indicada, es decir, 19:10:43.

Consulta:

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

Aquí, hemos escrito una consulta SELECT con la función EXTRACT () para obtener el valor minuto de la hora dada. SHOW_MINUTE es un alias para almacenar el minuto.

Después de ejecutar la consulta anterior, obtuvimos el siguiente resultado:

clase abstracta java
MOSTRAR_MINUTO
10

'10' es el valor de los minutos en el tiempo dado. Por lo tanto, se muestra como una salida.

Ejemplo 6:

Escriba una consulta para mostrar los segundos de la hora dada, es decir, 19:10:43.

Consulta:

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

Aquí, hemos escrito una consulta SELECT con la función EXTRACT () para obtener el valor de segundos del tiempo dado. SHOW_SECOND es un alias para almacenar el valor de un segundo.

Después de ejecutar la consulta anterior, obtuvimos el siguiente resultado:

MOSTRAR_SEGUNDO
43

43 es el segundo valor en el tiempo dado. Por lo tanto, se muestra como una salida.

6. FECHA_ADD()

Usando la función DATE_ADD () en SQL, podemos agregar un intervalo de tiempo específico a la fecha dada.

Sintaxis:

 SELECT DATE_ADD (DATE, INTERVAL VALUE Unit_to_be_added); 

Ejemplo 1:

Escriba una consulta para agregar un intervalo de 15 días a la fecha dada, es decir, 24thOctubre de 2021.

Consulta:

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

Aquí, hemos escrito una consulta SELECT con la función DATE_ADD () para agregar un intervalo de 15 días a la fecha dada. NEW_DATE es un alias para almacenar el valor de una nueva fecha.

Obtendrá el siguiente resultado:

NUEVA_FECHA
2021-11-08

Después de agregar un intervalo de 15 días al 24/10/2021, la nueva fecha es 08/11/2021.

Ejemplo 2:

Escriba una consulta para agregar un intervalo de 5 meses a la fecha dada, es decir, 24thOctubre de 2021.

Consulta:

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

Aquí, hemos escrito una consulta SELECT con la función DATE_ADD () para agregar un intervalo de 5 meses a la fecha dada. NEW_DATE es un alias para almacenar el valor de una nueva fecha.

Obtendrá el siguiente resultado:

NUEVA_FECHA
2022-03-24

Después de agregar un intervalo de 5 meses al 24 de octubre de 2021, la nueva fecha es el 24 de marzo de 2022.

Ejemplo 3:

Escriba una consulta para agregar un intervalo de 25 años a la fecha dada, es decir, 24thOctubre de 2021.

Consulta:

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

Aquí, hemos escrito una consulta SELECT con la función DATE_ADD () para agregar un intervalo de 25 años a la fecha dada. NEW_DATE es un alias para almacenar el valor de una nueva fecha.

Obtendrá el siguiente resultado:

NUEVA_FECHA
2046-10-24

Después de agregar un intervalo de 25 años al 24/10/2021, la nueva fecha es 24/10/2046.

7. FECHA_SUB()

Usando la función DATE_SUB () en SQL, podemos eliminar un intervalo de tiempo específico de la fecha dada.

Sintaxis:

 SELECT DATE_SUB (DATE, INTERVAL VALUE Unit_to_be_subtracted); 

Ejemplo 1:

Escriba una consulta para eliminar un intervalo de 25 años a partir de la fecha dada, es decir, 24thOctubre de 2021.

Consulta:

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

Aquí, hemos escrito una consulta SELECT con la función DATE_SUB() para eliminar un intervalo de 25 años a partir de la fecha dada. NEW_DATE es un alias para almacenar el valor de una nueva fecha.

Obtendrá el siguiente resultado:

NUEVA_FECHA
1996-10-24

Después de eliminar el intervalo de 25 años del 24 de octubre de 2021, la nueva fecha es el 24 de octubre de 1996.

Ejemplo 2:

Escriba una consulta para eliminar un intervalo de 5 meses a partir de la fecha indicada, es decir, 24thOctubre de 2021.

Consulta:

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

Aquí, hemos escrito una consulta SELECT con la función DATE_SUB() para eliminar un intervalo de 5 meses a partir de la fecha dada. NEW_DATE es un alias para almacenar el valor de una nueva fecha.

Obtendrá el siguiente resultado:

NUEVA_FECHA
2021-05-24

Después de eliminar el intervalo de 5 meses del 24 de octubre de 2021, la nueva fecha es el 24 de mayo de 2021.

Ejemplo 3:

Escriba una consulta para eliminar un intervalo de 15 días a partir de la fecha dada, es decir, 24thOctubre de 2021.

Consulta:

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

Aquí, hemos escrito una consulta SELECT con la función DATE_SUB() para eliminar un intervalo de 15 días a partir de la fecha dada. NEW_DATE es un alias para almacenar el valor de una nueva fecha.

Obtendrá el siguiente resultado:

NUEVA_FECHA
2021-10-09

Después de eliminar el intervalo de 15 días del 24 de octubre de 2021, la nueva fecha es el 9 de octubre de 2021.

8. DIFERENCIA DE FECHA()

El uso de la función DATEDIFF() en SQL nos dará la cantidad de días que caen entre las dos fechas dadas.

Sintaxis:

cómo abrir un archivo en java
 SELECT DATEDIFF(Date1, Date2); 

Ejemplo 1:

Escriba una consulta para calcular la diferencia entre dos fechas dadas, es decir, 24thOctubre de 2021 y 9.thOctubre de 2021.

Consulta:

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

Aquí, hemos escrito una consulta SELECT con la función DATE_DIFF() para obtener la diferencia entre las fechas 2021-10-24 y 2021-10-09. Number_of_Days es un alias para almacenar la diferencia en términos de número de días.

Obtendrá el siguiente resultado:

Número de días
15

Hay una diferencia de 15 días entre las fechas 2021-10-24 y 2021-10-09.

Ejemplo 2:

Escriba una consulta para calcular la diferencia entre dos fechas dadas, es decir, 5thmayo de 2018 y 5thMayo de 2008.

Consulta:

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

Aquí, hemos escrito una consulta SELECT con la función DATE_DIFF () para obtener la diferencia entre las fechas 2018-05-05 y 2008-05-05. Number_of_Days es un alias para almacenar la diferencia en términos de número de días.

Obtendrá el siguiente resultado:

Número de días
3652

Hay una diferencia de 3652 días entre las fechas 2018-05-05 y 2008-05-05.

9. FORMATO_FECHA()

Usando la función DATE_FORMAT () en SQL, podemos mostrar la información relacionada con la fecha o la hora en una manera bien formateada.

Sintaxis del uso de una función DATE_FORMAT en la columna de una tabla:

 SELECT DATE_FORMAT (ColumnName, Expression) FROM Table Name; 

O

Sintaxis para formatear una fecha específica:

 SELECT DATE_FORMAT (Date, Expression); 

Ejemplo 1:

Escriba una consulta para mostrar la fecha dada en un formato bien formateado, es decir, 24thOctubre de 2021.

Consulta:

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

Aquí, hemos escrito una consulta SELECT con la función DATE_FORMAT () para obtener la fecha 2021-10-24 en formato formateado. Formatted_Date es un alias para almacenar la fecha formateada.

CSS para negrita

Obtendrá el siguiente resultado:

Fecha_formateada
Domingo 24 de octubre de 2021

El domingo 24 de octubre de 2021 es la fecha formateada para el 24 de octubre de 2021.

Ejemplo 2:

Escriba una consulta para mostrar la fecha y hora dadas en una forma bien formateada, es decir, 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í, hemos escrito una consulta SELECT con la función DATE_FORMAT () para obtener la fecha y hora '2021-10-24 22:30:17' en el formato formateado. Formatted_DateTime es un alias para almacenar la fecha y hora formateadas.

Obtendrá el siguiente resultado:

Formateado_FechaHora
Domingo 24 de octubre de 2021 22:30:17

Domingo 24 de octubre de 2021 10:30:17 p. m. es la fecha y hora formateadas para 2021-10-24 22:30:17.

Ejemplo 3:

Escriba una consulta para mostrar todos los detalles de la columna del estudiante con la columna DateTime_Birth en una forma bien formateada.

Consulta:

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

Aquí, hemos escrito una consulta SELECT con la función DATE_FORMAT () para obtener la fecha y hora de todos los registros en un formato formateado. Formatted_DateTime es un alias para almacenar la fecha y hora formateadas.

Obtendrá el siguiente resultado:

IDENTIFICACIÓN Nombre Formateado_FechaHora Ciudad
1 Mansi Shah Viernes 1 de enero de 2010 18:39:09 Pune
2 Tejal Wagh Jueves 4 de marzo de 2010 05:13:19 Nashik
3 Sejal Kumari Sábado 1 de mayo de 2010 10:31:07 Bombay
4 sonal jain Jueves 9 de septiembre de 2010 17:17:07 Shimla
5 Surili Maheshwari Sábado 10 de julio de 2010 20:45:18 Carta

Todos los registros se muestran tal como están en la tabla de estudiantes, excepto la columna FechaHora_Nacimiento. Solo la fecha y la hora se muestran en la columna Formatted_DateTime según lo requerido.