我已经坚持这个问题好几天了,就像计算两天之间的周数一样,例如:
Select @Days = (datediff( week, @pdtFromDate, @pdtToDate) - 1) * 5
这将输出返回为257.
我需要将此脚本转换为MySQL。
答案 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