Oracle日期增加
对当前日期增加3天
SQL> select sysdate, sysdate+3 from dual;
对当前日期增加一个小时:
select sysdate, sysdate+numtodsinterval(1,'hour') from dual;
对当前日期增加50分种
SQL> select sysdate, sysdate+numtodsinterval(50,'minute') from dual;
对当前日期增加45秒
SQL> select sysdate, sysdate+numtodsinterval(45,'second') from dual;
对当前日期增加4个月
SQL> select sysdate, add_months(sysdate,4) from dual;
当前日期增加2年
SQL> select sysdate, add_months(sysdate,12*2) from dual;
Oracle
-- 获取上一月
select sysdate, add_months(sysdate,-1) from dual;
select sysdate, add_months(to_date('2021-03-31','yyyy-mm-dd'),-1) from dual;
MySQL
--上一日(上一天 前一天 前一日)
select sysdate(), date_add(sysdate(), interval-1 day);
-- 获取上一月
select sysdate(), date_add(sysdate(), interval-1 month);
select now(), date_add(now(), interval-1 month);
select sysdate(), date_add(date_format('2021-03-31','%Y-%m-%d'), interval-1 month) from dual;
/**
* like12 add,20210310,兼容Oracle与MySQL(获取上一月)
* @return
*/
public String getLastMonth() {
//默认Oracle
String hqlStr = "add_months(sysdate, -1)";
if("MySQL".equals(databaseHqlGlobal)){
hqlStr = "date_add(sysdate(), interval-1 month)";
}
return hqlStr;
}