MySQL直到下一次出现日期的天数?

时间:2016-11-20 12:57:31

标签: mysql countdown

我正在寻找一种准确倒计时的方法,直到圣诞节,一天的数量。我试过......

(SELECT DATEDIFF(CONCAT(YEAR(CURDATE()), '-12-25'), NOW())) as days

然而,这将在圣诞节和新年之间返回负面日期。 我想如果数字是负数,我可以加上365,但这不会占闰年。有关更好解决方案的任何建议吗?

非常感谢!

1 个答案:

答案 0 :(得分:2)

这很粗糙,但是应该这样做。查看结果是否为负数,如果是,则在年份中添加一个:

Select Case DateDiff(Concat(Year(CurDate()), '-12-25'), Now())) < 0
         Then DateDiff(Concat(Year(CurDate())+1, '-12-25'), Now())) 
         Else DateDiff(Concat(Year(CurDate()), '-12-24'), Now())) End As "days"