rango - Cálculo de semana MySQL entre dos fechas
filtrar por fecha mysql (2)
También puedes probar esto ya que separa semanas y días.
SET @day1=DATE(''2015-02-02'');
SET @day2=DATE(''2015-02-10'');
SELECT CONCAT(SUBSTRING_INDEX(ABS(DATEDIFF(@day1,@day2)/7),''.'',1),''Weeks '',
SUBSTRING_INDEX(ABS(DATEDIFF(@day1,@day2)),''.'',1)-SUBSTRING_INDEX(ABS(DATEDIFF(@day1,@day2))/7,''.'',1)*7,''Days''
)AS diff
Me he quedado estancado con este problema durante días, que es algo así como calcular el número de semanas que hay entre dos días, por ejemplo:
Select @Days = (datediff( week, @pdtFromDate, @pdtToDate) - 1) * 5
Esto devuelve la salida como 257.
Necesito convertir este script en MySQL.
DATEDIFF(@date1, @date2)/7
Eso devuelve una fracción que supongo que querrás redondear de alguna manera con CEIL()
, ROUND()
o FLOOR()
Mi ejemplo de prueba con dos fechas definidas:
SELECT FLOOR(DATEDIFF(DATE(20090215), DATE(20090101))/7);