有这样一个需求,我们需要获得某个时间段内所有数据记录,比如最近一个月内的新闻,然后再在这个数据集合中进行排序,看哪个新闻的点击率最高。现在问题是,如何获得那个时间段。MySQL已经有些函数可以帮助我们,先看看这些函数吧。
TO_DAYS(date) 函数
给定一个日期date,返回一个天数(从年份0开始的天数)。
比如下面的例子:
mysql> SELECT TO_DAYS('2009-08-07');
+-----------------------+
| TO_DAYS('2009-08-07') |
+-----------------------+
| 733991 |
+-----------------------+
1 row in set
TO_DAYS() 不用于阳历出现(1582)前的值,原因是当日历改变时,遗失的日期不会被考虑在内。
请记住,MySQL“日期和时间类型”中的规则将日期中的二位数年份值转化为四位。例如,‘2010-08-07′和 ‘10-08-07′ 被视为同样的日期:
mysql> SELECT TO_DAYS('2009-08-07'),TO_DAYS('09-08-07');
+-----------------------+---------------------+
| TO_DAYS('2009-08-07') | TO_DAYS('09-08-07') |
+-----------------------+-