1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > sql函数--07---Mysql取前一天 前一周 后一天等时间函数

sql函数--07---Mysql取前一天 前一周 后一天等时间函数

时间:2020-09-12 00:54:53

相关推荐

sql函数--07---Mysql取前一天 前一周 后一天等时间函数

DATE_SUB()函数的用法

语法:

获取当前日期:select curdate()获取当前日期前一天:select date_sub(curdate(),interval 1 day)获取当前日期后一天:select date_sub(curdate(),interval -1 day)

案例:

当前日期的前三十天和后三十天 (DATE_SUB函数本身是减法,用负数就是加)

SELECT * from user where create_time between DATE_SUB(NOW(),INTERVAL 30 day) and DATE_SUB(NOW(),INTERVAL -30 day)

示例

select now();-- 当前时间--结果: -12-06 20:35:21select DATE_SUB(now(), INTERVAL 30 DAY);-- 前三十天--结果: -11-06 20:35:21select DATE_SUB(now(), INTERVAL -30 DAY);-- 后三十天(函数本身是减法,用负数就是加)--结果: -01-05 20:35:21select DATE_SUB(now(), INTERVAL 1 month);-- 减去一个月--结果: -11-06 20:35:21select DATE_SUB(now(), INTERVAL 1 year);-- 减一年--结果: -12-06 20:35:21

备注:

SELECT NOW(),CURDATE(),CURTIME()

结果类似:

相反的还有 add函数:

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);

日期/时间转换为字符串:

date_format(date,format), time_format(time,format)select date_format('-08-11 12:30:00', '%Y %m %d %H%i%s');# 08 11 123000

字符串转换为日期:

str_to_date(str, format)select str_to_date('08/11/', '%m/%d/%Y'); -- -08-11select str_to_date('08/11/08' , '%m/%d/%y'); -- -08-11select str_to_date('08.11.', '%m.%d.%Y'); -- -08-11select str_to_date('08:00:30', '%h:%i:%s'); -- 08:00:30select str_to_date('08.11. 08:00:30', '%m.%d.%Y %h:%i:%s');

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。