En SQL , las fechas son complicadas para los novatos, ya que al trabajar con una base de datos, el formato de los datos de la tabla debe coincidir con los datos de entrada a insertar. En varios escenarios, en lugar de la fecha, se utiliza la fecha y hora (la hora también está relacionada con la fecha).
Para almacenar una fecha o un valor de fecha y hora en una base de datos, mysql ofrece los siguientes tipos de datos:
| FECHA | formato AAAA-MM-DD |
| FECHA Y HORA | formato: AAAA-MM-DD HH:MI: SS |
| MARCA DE TIEMPO | formato: AAAA-MM-DD HH:MI: SS |
| AÑO | formato AAAA o AA |
Ahora, veamos algunas funciones populares en funciones de fecha SQL.
AHORA()
Devuelve la fecha y hora actuales.
Consulta:
SELECT NOW();>
Producción:

FECHA ACTUAL()
Devuelve la fecha actual.
actor de cine vijay
Consulta:
SELECT CURDATE();>
Producción:

TIEMPO CORTE()
Devuelve la hora actual.
Consulta:
SELECT CURTIME();>
Producción:

FECHA()
Extrae la parte de fecha de una expresión de fecha o fecha/hora. Ejemplo: para la siguiente tabla denominada 'Prueba'
| Identificación | Nombre | Hora de nacimiento |
|---|---|---|
| 4120 | Práctica | 1996-09-26 16:44:15.581 |
Consulta:
SELECT Name, DATE(BirthTime) AS BirthDate FROM Test;>
Producción:
| Nombre | Fecha de nacimiento |
|---|---|
| Práctica | 1996-09-26 |
EXTRACTO()
Devuelve una única parte de una fecha/hora.
Sintaxis
EXTRACTO(unidad DESDE fecha);
Se pueden considerar varias unidades pero solo se utilizan algunas como MICROSECUNDO, SEGUNDO, MINUTO, HORA, DÍA, SEMANA, MES, TRIMESTRE, AÑO, etc. Y 'fecha' es una expresión de fecha válida. Ejemplo: para la siguiente tabla denominada 'Prueba'
| Identificación | Nombre | Hora de nacimiento |
|---|---|---|
| 4120 | Práctica | 1996-09-26 16:44:15.581 |
Consulta:
SELECT Name, Extract(DAY FROM BirthTime) AS BirthDay FROM Test;>
Producción:
cadena booleana java
| Nombre | Cumpleaños |
|---|---|
| Práctica | 26 |
Consulta:
SELECT Name, Extract(YEAR FROM BirthTime) AS BirthYear FROM Test;>
Producción:
| Nombre | Año de nacimiento |
|---|---|
| Práctica | 1996 |
Consulta:
SELECT Name, Extract(SECOND FROM BirthTime) AS BirthSecond FROM Test;>
Producción:
| Nombre | NacimientoSegundo |
|---|---|
| Práctica | 581 |
FECHA_ADD()
Agrega un intervalo de tiempo específico a una fecha.
Sintaxis:
DATE_ADD(fecha, tipo de expresión INTERVALO);
Donde, fecha: expresión de fecha válida y expr es el número de intervalos que queremos agregar. y el tipo puede ser uno de los siguientes: MICROSEGUNDO, SEGUNDO, MINUTO, HORA, DÍA, SEMANA, MES, TRIMESTRE, AÑO, etc. Ejemplo: Para la siguiente tabla denominada 'Prueba'
| Identificación | Nombre | Hora de nacimiento |
|---|---|---|
| 4120 | Práctica | 1996-09-26 16:44:15.581 |
Consulta:
SELECT Name, DATE_ADD(BirthTime, INTERVAL 1 YEAR) AS BirthTimeModified FROM Test;>
Producción:
| Nombre | Hora de nacimientoModificado |
|---|---|
| Práctica | 1997-09-26 16:44:15.581 |
Consulta:
SELECT Name, DATE_ADD(BirthTime, INTERVAL 30 DAY) AS BirthDayModified FROM Test;>
Producción:
| Nombre | Día de nacimientoModificado |
|---|---|
| Práctica | 1996-10-26 16:44:15.581 |
Consulta:
SELECT Name, DATE_ADD(BirthTime, INTERVAL 4 HOUR) AS BirthHourModified FROM Test;>
Producción:
| Nombre | NacimientoSegundo |
|---|---|
| Práctica | 1996-10-26 20:44:15.581 |
FECHA_SUB()
Resta un intervalo de tiempo específico de una fecha. La sintaxis de DATE_SUB es la misma que DATE_ADD, solo que la diferencia es que DATE_SUB se usa para restar un intervalo de fechas determinado.
FECHADIFF()
Devuelve el número de días entre dos fechas.
Sintaxis:
DATEDIFF(fecha1, fecha2);
fecha1 y fecha2: expresión de fecha/hora
Consulta:
SELECT DATEDIFF('2017-01-13','2017-01-03') AS DateDiff;> Producción:
| FechaDiff |
|---|
| 10 |
FORMATO DE FECHA()
Muestra datos de fecha/hora en diferentes formatos.
Sintaxis:
DATE_FORMAT(fecha,formato);
cadena n java
la fecha es una fecha válida y el formato especifica el formato de salida para la fecha/hora. Los formatos que se pueden utilizar son:
- %a-Nombre abreviado del día de la semana (domingo-sábado)
- %b-Nombre abreviado del mes (enero-diciembre)
- %c-Mes, numérico (0-12)
- %D-Día del mes con sufijo en inglés (0.º, 1.º, 2.º, 3.º)
- %d-Día del mes, numérico (00-31)
- %e-Día del mes, numérico (0-31)
- %f-Microsegundos (000000-999999)
- %H-Hora (00-23)
- %h-Hora (01-12)
- %I-Hora (01-12)
- %i-Minutos, numérico (00-59)
- %j-Día del año (001-366)
- %k-hora (0-23)
- %l-hora (1-12)
- %M-Nombre del mes (enero-diciembre)
- %m-Mes, numérico (00-12)
- %p-AM o PM
- %r-Hora, 12 horas (hh:mm: ss seguido de AM o PM)
- %S-Segundos (00-59)
- %s-segundos (00-59)
- %T-Hora, 24 horas (hh:mm:ss)
- %U-Semana (00-53) donde el domingo es el primer día de la semana
- %u-Semana (00-53) donde el lunes es el primer día de la semana
- %V-Week (01-53) donde el domingo es el primer día de la semana, usado con %X
- %v-Week (01-53) donde el lunes es el primer día de la semana, usado con %x
- %W-Nombre del día de la semana (domingo-sábado)
- %w-Día de la semana (0=domingo, 6=sábado)
- %X-Año para la semana donde el domingo es el primer día de la semana, cuatro dígitos, usado con %V
- %x-Año para la semana donde el lunes es el primer día de la semana, cuatro dígitos, usado con %v
- %Y-Año, numérico, cuatro dígitos
- %y-Año, numérico, dos dígitos