《基础语法篇》时间
oracle日期加减(sysdate、add_months的使用)
原文链接:https://www.cnblogs.com/muhai/p/15435679.html
一、针对天的操作,适用于日、时、分、秒
1、加一天
select sysdate,sysdate+1 from dual
2、加一个小时
select sysdate,sysdate+(1/24) from dual
3、加一分钟
select sysdate,sysdate+(1/24/60) from dual
--加一秒就再除以60,即sysdate+(1/24/60/60)
二、对月的操作,适合于月、年的操作(使用add_months()函数)
1、加或减一个月
select sysdate,ADD_MONTHS(SYSDATE,1)加一个月,ADD_MONTHS (SYSDATE,-1)减一个月 from dual
2、加或减一年
select sysdate,ADD_MONTHS (SYSDATE,1*12) 加一年,ADD_MONTHS (SYSDATE,-12) 减一年 from dual
获取上个月
原文链接:https://www.cnblogs.com/qq1040991197/p/3245937.html
这个要用到add_months()函数 参数 负数 代表 往前 正数 代表 往后。
select to_char(add_months(trunc(sysdate),-1),'yyyymm') from dual;
--上一个月
select to_char(add_months(trunc(sysdate),1),'yyyymm') from dual;
--下一个月
查询大于12点 小于17点的数据
select *
from ddd
where substr(to_char(ddd.cxsj,'yyyy-MM-dd HH24:mi:ss'),12,2)>'12'
and substr(to_char(ddd.cxsj,'yyyy-MM-dd HH24:mi:ss'),12,2)<'17'
在ORacle中怎么截取时间字段中的小时?
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as nowTime from dual; //日期转化为字符串
select to_char(sysdate,'yyyy') as nowYear from dual; //获取时间的年
select to_char(sysdate,'mm') as nowMonth from dual; //获取时间的月
select to_char(sysdate,'dd') as nowDay from dual; //获取时间的日
select to_char(sysdate,'hh24') as nowHour from dual; //获取时间的时
select to_char(sysdate,'mi') as nowMinute from dual; //获取时间的分
select to_char(sysdate,'ss') as nowSecond from dual; //获取时间的秒