mysql的 DATE_SUB()&EXTRACT() 函数及应用,有需要的朋友可以参考下。
DATE_SUB()
定义和用法
DATE_SUB() 函数从日期减去指定的时间间隔。
语法
DATE_SUB(date,INTERVAL expr type)
例子:
复制代码 代码如下:
select date_sub(now(),interval 7 DAY);
+--------------------------------+
| date_sub(now(),interval 7 DAY) |
+--------------------------------+
| 2012-10-11 14:40:27 |
+--------------------------------+
1 row in set (0.02 sec)
EXTRACT()
定义和用法
EXTRACT() 函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等。
语法
EXTRACT(unit FROM date)
例子:
复制代码 代码如下:
select now();
+---------------------+
| now() |
+---------------------+
| 2012-10-18 15:57:25 |
+---------------------+
select extract(day from now());
+-------------------------+
| extract(day from now()) |
+-------------------------+
| 18 |
+-------------------------+
select extract(month from now());
+---------------------------+
| extract(month from now()) |
+---------------------------+
| 10 |
+---------------------------+
>select extract(year from now());
+--------------------------+
| extract(year from now()) |
+--------------------------+
| 2012 |
+--------------------------+
将DATE_SUB()&EXTRACT() 函数结合使用:
复制代码 代码如下:
----上个月的第一天:
select date_sub(date_sub(date_format(now(),'%y-%m-%d'),interval extract(
day from now())-1 day),interval 1 month)
----上个月的最后一天:
select date_format(date_sub(now(),interval extract(day from now()) day),'%y-%m-%d');