mysql的时间处理:datediff/date/dayname/dayofweek

mysql的时间处理:datediff/date/dayname/dayofweek

date(now())<=date(endtime) and date(endtime)
从当前时间起七天之内的时间限制语句。

采用下一句更好:
datediff(endtime,now())>=0 and datediff(endtime,now())<7

dayname与dayofweek的区别:


















对于上面那张图片的理解可要拐个小弯儿哦, dayname函数返回的是像Monday,Tuesday......之类的工作日名

称,而dayofweek返回的是工作日在一周七天内对应的索引,上图中dayname返回的星期三的索引自然是4

了。



函数说明:
  • DATE(expr)

提取日期或时间日期表达式expr中的日期部分。

mysql> SELECT DATE('2003-12-31 01:02:03');

        -> '2003-12-31'

  • DATEDIFF(expr,expr2)

DATEDIFF() 返回起始时间 expr和结束时间expr2之间的天数。Exprexpr2 为日期或 date-and-time 表达式。计算中只用到这些值的日期部分。

mysql> SELECT DATEDIFF('1997-12-31 23:59:59','1997-12-30');

        -> 1

mysql> SELECT DATEDIFF('1997-11-30 23:59:59','1997-12-31');

        -> -31

  • DAYNAME(date)

返回date 对应的工作日名称。

mysql> SELECT DAYNAME('1998-02-05');

        -> '周四'

  • DAYOFMONTH(date)

返回date 对应的该月日期,范围是从 1到31。

mysql> SELECT DAYOFMONTH('1998-02-03');

        -> 3

  • DAYOFWEEK(date)

返回date (1 = 周日, 2 = 周一, ..., 7 = 周六)对应的工作日索引。这些索引值符合 ODBC标准。

mysql> SELECT DAYOFWEEK('1998-02-03');

        -> 3

参考资料:

mysql参考手册--函数和操作符--时间和日期函数

mysql常用函数列表

你可能感兴趣的:(mysql)