当前位置:   article > 正文

mysql查询前一天后一天的sql,以及加减时间的sql方法_sql 今日和昨日增减数

sql 今日和昨日增减数
# 前一天
date_sub(curdate(),interval 1 day) 
  • 1
  • 2
# 明天(后一天)
date_sub(curdate(),interval -1 day) 
  • 1
  • 2
# 前一个月
date_sub(curdate(),interval 1 month) 
  • 1
  • 2
# 下个月
date_sub(curdate(),interval -1 month) 
  • 1
  • 2
# 去年
date_sub(curdate(),interval 1 year) 
  • 1
  • 2
# 明年
date_sub(curdate(),interval -1 year) 
  • 1
  • 2
# 2019-08-11 11:20:30
SELECT NOW()
  • 1
  • 2
# 2019-08-11
CURDATE()
  • 1
  • 2
# 11:20:30
CURTIME()
  • 1
  • 2

相反的还有 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);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

Unix 时间戳转换:

# 默认获取当前时间的时间戳
SELECT UNIX_TIMESTAMP();
  • 1
  • 2
# 获取指定时间的时间戳
SELECT UNIX_TIMESTAMP('2018-08-11');
或者
SELECT UNIX_TIMESTAMP('2018-08-11 12:30:00');
  • 1
  • 2
  • 3
  • 4

**

--------------时间戳转日期-----------------

**

# 2018-08-11 10:57:21
SELECT FROM_UNIXTIME(1533956241);
  • 1
  • 2
# 2018-08-11 00:00:00
SELECT FROM_UNIXTIME(1533916800); 
  • 1
  • 2
# 2018-08-11 12:30:00
SELECT FROM_UNIXTIME(1533961800); 
  • 1
  • 2
# 2018 11th August 12:30:00 2018
SELECT FROM_UNIXTIME(1533961800, '%Y %D %M %h:%i:%s %x');
  • 1
  • 2

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

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

---------字符串转换为日期:-----------------

str_to_date(str, format)
 
select str_to_date('08/11/2018', '%m/%d/%Y'); -- 2018-08-11
 
select str_to_date('08/11/08' , '%m/%d/%y'); -- 2018-08-11
 
select str_to_date('08.11.2008', '%m.%d.%Y'); -- 2018-08-11
 
select str_to_date('08:00:30', '%h:%i:%s'); -- 08:00:30
 
select str_to_date('08.11.2018 08:00:30', '%m.%d.%Y %h:%i:%s'); 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

----------------时间函数加减:-----------------

datediff(date1,date2), timediff(time1,time2)
 
select datediff('2018-08-08', '2008-08-01'); 
# 返回 7 (天)
 
select datediff('2018-08-01', '2008-08-08');
# 返回 -7
 
 
select timediff('2018-08-08 08:08:08', '2018-08-08 00:00:00'); 
# 返回time差值,08:08:08
 
select timediff('08:08:08', '00:00:00'); 
# 返回 08:08:08
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/313862
推荐阅读
相关标签
  

闽ICP备14008679号