最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Oracle时间日期加减计算

来源:动视网 责编:小采 时间:2020-11-09 10:05:57
文档

Oracle时间日期加减计算

Oracle时间日期加减计算:上月末的日期:select last_day(add_months(sysdate, -1)) from dual; 本月的最后一秒:select trunc(add_months(sysdate,1),'mm') - 1/24/60/60 from dual 本周星期一的日期:select trunc(sysdate,'day')+1
推荐度:
导读Oracle时间日期加减计算:上月末的日期:select last_day(add_months(sysdate, -1)) from dual; 本月的最后一秒:select trunc(add_months(sysdate,1),'mm') - 1/24/60/60 from dual 本周星期一的日期:select trunc(sysdate,'day')+1


上月末的日期:select last_day(add_months(sysdate, -1)) from dual;
本月的最后一秒:select trunc(add_months(sysdate,1),'mm') - 1/24/60/60 from dual
本周星期一的日期:select trunc(sysdate,'day')+1 from dual


年初至今的天数:select ceil(sysdate - trunc(sysdate, 'year')) from dual;

今天是今年的第几周 :select to_char(sysdate,'fmww') from dual
今天是本月的第几周:select to_char(sysdate,'ww') - to_char(trunc(sysdate,'mm'),'ww') + 1 as "weekofmon" from dual

本月的天数
select to_char(last_day(sysdate),'dd') days from dual
今年的天数
select add_months(trunc(sysdate,'year'), 12) - trunc(sysdate,'year') from dual
下个星期一的日期
select next_day(sysdate,'monday') from dual


============================================

--计算工作日方法

create table t(s date,e date);
alter session set nls_date_format = 'yyyy-mm-dd';
insert into t values('2003-03-01','2003-03-03');
insert into t values('2003-03-02','2003-03-03');
insert into t values('2003-03-07','2003-03-08');
insert into t values('2003-03-07','2003-03-09');
insert into t values('2003-03-05','2003-03-07');
insert into t values('2003-02-01','2003-03-31');

-- 这里假定日期都是不带时间的,否则在所有日期前加trunc即可。
select s,e,e-s+1 total_days,
trunc((e-s+1)/7)*5 + length(replace(substr('01111100111110',to_char(s,'d'),mod(e-s+1,7)),'0','')) work_days
from t;

-- drop table t;

================================================================================

判断当前时间是上午下午还是晚上

select case
when to_number(to_char(sysdate,'hh24')) between 6 and 11 then '上午'
when to_number(to_char(sysdate,'hh24')) between 11 and 17 then '下午'
when to_number(to_char(sysdate,'hh24')) between 17 and 21 then '晚上'
end
from dual;

文档

Oracle时间日期加减计算

Oracle时间日期加减计算:上月末的日期:select last_day(add_months(sysdate, -1)) from dual; 本月的最后一秒:select trunc(add_months(sysdate,1),'mm') - 1/24/60/60 from dual 本周星期一的日期:select trunc(sysdate,'day')+1
推荐度:
标签: 时间 日期 计算
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top