Подтвердить что ты не робот

Расчет недельной недели между двумя датами

Я застрял в этом вопросе в течение нескольких дней, что-то вроде расчета числа недель, которое находится между двумя днями, например:

Select @Days = (datediff( week, @pdtFromDate, @pdtToDate) - 1) * 5

Это возвращает результат как 257.

Мне нужно преобразовать этот script в MySQL.

4b9b3361

Ответ 1

DATEDIFF(@date1, @date2)/7

Это возвращает часть, которая, как я предполагаю, вам нужно каким-то образом округлить с помощью CEIL(), ROUND() или FLOOR()

Мой пример с двумя определенными датами:

SELECT FLOOR(DATEDIFF(DATE(20090215), DATE(20090101))/7);

Ответ 2

вы также можете попробовать это, поскольку он отделяет недели и дни.

    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