ccc

Fechas: Obtener en la bd una fecha dentro de un periodo

// Saca aquellas empresas que justo dentro de 3 meses tenga la fecha_caducidad
SELECT * FROM empresa WHERE fecha_caducidad = DATE_ADD(curdate(), INTERVAL 3 MONTH)


// Sacar aquellos pedidos cuya fecha sea superior a 3 horas
SELECT id_pedido FROM pedido WHERE estado='pendiente' AND TIME_TO_SEC(TIMEDIFF(NOW(), fecha))>(3*3600)
// Sacar aquellas empresas en las que la fecha actual esté entre la fecha de activación y la fecha de caducidad
select * from empresa where CURDATE() BETWEEN fecha_activacion AND fecha_caducidad
// Sacar diferencia entre días, meses, años, etc entre dos fechas
SELECT DATEDIFF(day, '2014/09/28','2019/05/31') AS diasDif;
SELECT DATEDIFF(month, '2014/09/28','2019/05/31') AS mesesDif;
SELECT DATEDIFF(year, '2014/09/28','2019/05/31') AS annosDif;
// Obtener los años, meses y días que han pasado entre una fecha y la fecha actual
SELECT ( SELECT TIMESTAMPDIFF( YEAR, '2014-09-28', CURDATE( ) ) ) AS ANIOS, ( SELECT ( TIMESTAMPDIFF( MONTH , '2014-09-28', CURDATE( ) ) ) - ( TIMESTAMPDIFF( YEAR, '2014-09-28', CURDATE( ) ) *12 ) ) AS MESES, ( SELECT DATEDIFF( CURDATE( ) , DATE_ADD( DATE_ADD( '2014-09-28', INTERVAL TIMESTAMPDIFF( YEAR, '2014-09-28', CURDATE( ) ) YEAR ) , INTERVAL( TIMESTAMPDIFF( MONTH , '2014-09-28', CURDATE( ) ) ) - ( TIMESTAMPDIFF( YEAR, '2014-09-28', CURDATE( ) ) *12 ) MONTH ) ) ) AS DIAS


Más información en: https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html

No hay comentarios:

Publicar un comentario