Introducción a la función de fecha SQL
Trabajar con la base de datos no es muy difícil, ya que uno necesita conocer las consultas básicas y las palabras clave que deben usarse para recuperar, actualizar y eliminar los datos de la base de datos. SQL nos permite almacenar los datos estructurados (datos en forma de filas y columnas) y proporciona consultas simples para trabajar en ellos. En este tema, vamos a discutir la función de fecha SQL.
La fecha es una de las funciones más importantes utilizadas en el SQL, pero es un poco difícil para los novatos entenderla, ya que hay muchos formatos en los que la fecha se puede almacenar en la base de datos y en diferentes formatos el usuario desea recuperarla dependiendo de requisitos específicos. En SQL, DateTime (el tiempo también se usa junto con la fecha) se usa con frecuencia para almacenar los valores de fecha y hora a la vez en una sola columna.
Funciones de fecha de SQL
Comprendamos cada función de fecha utilizada en SQL una por una en detalle:
1. AHORA ()
NOW () se utiliza para devolver el valor actual de fecha y hora del sistema.
Consulta:
SELECT NOW();
Salida: 2019-08-06 08:10:12
2. CURDATE ()
CURDATE () se usa para devolver la fecha actual del sistema.
Consulta:
SELECT CURDATE();
Salida: 2019-08-06
3. CURTIME ()
CURTIME () se utiliza para devolver la hora actual del sistema.
Consulta:
SELECT CURTIME();
Salida: 08:10:12
4. FECHA (expr)
Extrae solo la parte de la fecha de la columna que tiene el valor DateTime.
Consulta:
SELECT DATE('2019-08-06 08:10:12');
Salida : 2019-08-06
5. EXTRACTO (unidad DE FECHA)
La función EXTRACT () se utiliza para recuperar una parte particular del valor de fecha / hora.
Considere la siguiente tabla 'estudiante' para esto:
carné de identidad | nombre | cumpleaños |
1001 | Ankita |
2019-08-06 08:10:12 |
Consulta:
SELECT id, name, EXTRACT(DAY FRO from the student; M birthday) AS day_of_birth
carné de identidad | nombre | día de nacimiento |
1001 | Ankita |
08 |
6. DATEADD (fecha, unidad expr. INTERVALO):
Esta función se usa en los escenarios cuando queremos mostrar la fecha agregando algún valor al valor original. DATEADD (fecha, unidad expr. INTERVALO)
Consulta:
SELECT DATEADD('2019-06-05', INTERVAL 5 DAY);
Salida: 2019-06-10
Aquí la unidad que es DÍA en el ejemplo anterior puede tener valores diferentes:
-MICROSEGUNDO
-SEGUNDO DÍA
-HORA SEMANA
-AÑO-DÍA
-MES DIA
-HORA-DIA
-SEGUNDO CUARTO
-MINUTE_SECOND
-HOUR_SECOND
7. DATEDIFF ()
Esta función devuelve la diferencia de la cantidad de días desde date2 hasta date1
Consulta:
SELECT DATEDIFF('2019-06-03', '2019-06-05');
Salida: 2
8) DATE_FORMAT (fecha, formato)
Esta es una de las funciones importantes utilizadas en SQL.
Esta función devuelve la fecha en varios formatos según el especificador mencionado por el usuario.
Especificador | Descripción |
%un | DIs abrevia el nombre del día de la semana (dom-sáb) |
%RE | Muestra el día del mes con sufijo en inglés (1º, 2º, 3º ..) |
%re | Muestra el día del mes en valores numéricos (00..31) |
%si | DIs abrevia el nombre del mes (enero-diciembre) |
%C | Muestra el mes en valores numéricos (1, 2, 3 …) |
% h | Muestra la hora (01-12) |
% H | Muestra la hora (00-23) |
%metro | Muestra el nombre del mes en numérico (0-12) |
%METRO | Muestra el nombre del mes en idioma inglés (enero-diciembre) |
% w | Muestra el día de la semana (0-6) |
% W | Muestra el nombre del día de la semana (domingo a sábado) |
% s | Muestra segundos (00..59) |
% S | Muestra segundos (00..59) |
% y | Muestra el año numérico en dos dígitos. |
% Y | Muestra el año numérico en cuatro dígitos. |
Consulta:
SELECT DATE_FORMAT('2019-06-03 09:40:05', %W %M %y);
Salida : lunes 19 de junio
9) DAYNAME (fecha)
Esta función devuelve el nombre de la fecha para la fecha especificada.
Consulta:
DAYNAME('2019-06-03');
Salida : lunes
10) DAYOFMONTH (fecha)
Esta función devuelve el día del mes para la fecha especificada.
Consulta:
DAYOFMONTH('2019-06-03');
Salida: 3
11. DAYOFWEEK (fecha)
Esta función devuelve el índice del día de la semana de la fecha indicada Los índices asignados son domingo = 1, lunes = 2, martes = 3, y así sucesivamente.
Consulta:
DAYOFWEEK('2019-06-03');
Salida: 2
12. DAYOFYEAR (fecha)
Esta función devuelve el día del mes de un año para la fecha especificada. El rango va de 1 a 366.
Consulta:
DAYOFYEAR('2019-06-03');
Salida: 154
13. DATE_SUB (fecha, unidad expr. INTERVALO)
Esta función se usa para restar los valores de fecha / hora dados de la fecha especificada
Consulta:
SELECT DATE_SUB('2019-06-03', INTERVAL 4 DAY);
Salida : 2019-05-31
Al igual que la función DATE_ADD (), puede haber varios valores de INTERVALO.
14. MAKEDATE (año, días)
Esta función crea una fecha basada en el año y los días proporcionados por el usuario. Pero el año proporcionado debe ser de 4 dígitos.
Consulta:
SELECT MAKEDATE(2019, 154);
Salida: 2019-06-03
15. MAKETIME (hora, minuto, segundo)
Esta función devuelve el tiempo en función del valor de hora, minuto y segundo proporcionado por el usuario.
Consulta:
SELECT MAKETIME(09, 20, 05);
Salida : 09:20:05
Otras funciones de fecha
SN
o. | Función
Nombre | Descripción | Ejemplo | Salida |
1) | LAST_DAY (fecha) | Toma la fecha o el valor de DateTime y devuelve el último día del mes correspondiente | SELECCIONAR LAST_DAY ('2019-06-09') | 2019-06-30 |
2) | DESDE_DÍAS (n) | Toma n cantidad de días como entrada y devuelve el valor de la fecha | SELECCIONAR DESDE_DÍAS (685552) | 1876-12-23 |
3) | HORA (tiempo) | Toma el valor del tiempo y devuelve el valor de la hora. | SELECCIONE
HORA ('03: 24: 27 ') | 03 |
4) | MINUTO (tiempo) | Toma los valores de tiempo como entrada y devuelve el valor de minutos | SELECCIONE
MINUTO ('03: 27: 24 ') | 27 |
5) | MES (fecha) | Toma la fecha como entrada y devuelve el mes correspondiente de la fecha dada | SELECCIONE
MES ('2019-06-09') | 06 |
6) | SYSDATE () | Devuelve el valor actual de fecha y hora en el formato AAAA MM
DD HH: MM: SS | SELECCIONAR SYSDATE () | 2019-06-09 11:15:08 |
7) | TIME_TO_SEC (hora) | Toma el tiempo como entrada y devuelve los segundos totales correspondientes a ese tiempo | SELECCIONE
TIME_TO_SEC ('11: 15 : 10 ') | 40510 |
8) | AÑO (fecha) | Toma la fecha como entrada y devuelve el año para la fecha correspondiente | SELECCIONE AÑO
('19 -06-09 ') | 2019 |
en el rango de 1000-9999 | ||||
9) | TIMESTAMP (expr) | Devuelve la fecha o la expresión datetime | SELECCIONAR TIMESTAMP
('2019-06-09') | 2019-06-09 00:00:00 |
10) | DÍA DE LA SEMANA (fecha) | Toma la fecha como entrada y devuelve el índice del día de la semana correspondiente a esa fecha (0 = lunes, 1 = martes, 2 =
Miércoles, etc.) | SELECCIONA EL DIA
('2019-06-09') | 6 6 |
Conclusión
Anteriormente se mencionan algunas de las funciones básicas de fecha utilizadas en SQL. Hay varias otras funciones de fecha utilizadas en diferentes escenarios. Hay que tener en cuenta la sintaxis y el argumento pasado en la función antes de usar cualquiera de ellos para evitar resultados inesperados.
Artículos recomendados
Esta es una guía para la función de fecha SQL. Aquí discutimos la función de fecha utilizada en SQL uno por uno con ejemplos y salidas en detalle. También puede echar un vistazo a los siguientes artículos para obtener más información:
- Clave externa en SQL
- Consulta de inserción de SQL
- Tabla en SQL
- Tipos de combinaciones en SQL
- Los 6 tipos principales de combinaciones en MySQL con ejemplos