Mysql常用日期函数

身不饥寒,天未曾负我;学无长进,我何以对天

获得当前日期+时间

1
2
mysql> select now();
mysql> select sysdate();

不同之处在于:now() 在执行开始时值就得到了, sysdate() 在函数执行时动态得到值。

获得当前日期

1
mysql> select curdate();

获得当前时间

1
mysql> select curtime();

获得当前 UTC 日期时间函数

1
select utc_timestamp(), utc_date(), utc_time(), now()

MySQL 为日期增加一个时间间隔

1
2
3
4
5
6
7
8
9
10
11
set @dt = now();
select date_add(@dt, interval 1 day); -- add 1 day
select date_add(@dt, interval 1 hour); -- add 1 hour
select date_add(@dt, interval 1 minute); -- ...
select date_add(@dt, interval 1 second);
select date_add(@dt, interval 1 microsecond);
select date_add(@dt, interval 1 week);
select date_add(@dt, interval 1 month);
select date_add(@dt, interval 1 quarter);
select date_add(@dt, interval 1 year);
select date_add(@dt, interval -1 day); -- sub 1 day

MySQL 为日期减去一个时间间隔

1
select date_sub('1998-01-01 00:00:00', interval '1 1:1:1' day_second);

DATE() 函数返回日期或日期/时间表达式的日期部分

1
DATE(date)

前一天

1
date_sub(curdate(),interval 1 day);

统计日期

1
SELECT  DATE(updated_at) AS dd, COUNT(*) FROM m_shells GROUP BY dd