两个日期之间的MySQL周计算

时间:2009-05-07 07:08:45

标签: mysql

我已经坚持这个问题好几天了,就像计算两天之间的周数一样,例如:

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

这将输出返回为257.

我需要将此脚本转换为MySQL。

2 个答案:

答案 0 :(得分:31)

DATEDIFF(@date1, @date2)/7

这会返回一小部分,我猜你想以某种方式对CEIL()ROUND()FLOOR()

进行舍入

我的测试示例有两个已定义的日期:

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

答案 1 :(得分:0)

您也可以尝试这样做,因为它将数周和数天分开。

    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