select yhm,sum(to_date(out,'yyyy-MM-dd HH24:mi:ss') -to_date(login,'yyyy-MM-dd HH24:mi:ss')) from gyh
为永顺等地区用户提供了全套网页设计制作服务,及永顺网站建设行业解决方案。主营业务为成都网站建设、成都网站设计、永顺网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
group by yhm;
---计算出在线天数。如果login和out仅仅记录时间,不含日期,则自己做个转化即可。
---关于要显示为:日/时/分,为了简单,将sum(....)设定为A,则表达式如下
select yhm,round(A)||'日'||(round(A*24)-round(A)*24)||'时'||round(A*24*60-round(A*24*60)-round(A*24)*60)||'分' from gyh group by yhm;
1、创建测试表,
create table test_date(id number, times date);
2、插入测试数据
insert into test_date select level, sysdate-level/24/60 t from dual connect by level = 100;
commit;
3、查询表中数据,select t.* from test_date t;
4、编写sql,获取加5分钟大于等于当前系统时间的记录; select t.* from test_date t where times+5/24/60=sysdate;
代码如下:
d2 := to_date('20190528','yyyymmdd');
d3 := to_date('20170101','yyyymmdd');
d4 := sysdate;
if d1d3 then --格式不同进行比较
dbms_output.put_line('d1d3');
end if;
if d2d3 then --格式相同比较
dbms_output.put_line('d2d3');
end if;
if d1d4 then --格式不同进行比较
dbms_output.put_line('d1d4');
end if;
dbms_output.put_line('d4是:'||d4);
end;
扩展资料
oracle sql日期比较
oracle sql日期比较:
在今天之前:
select * from up_date where update to_date('2007-09-07 00:00:00','yyyy-mm-dd hh24:mi:ss')
select * from up_date where update = to_date('2007-09-07 00:00:00','yyyy-mm-dd hh24:mi:ss')
在今天只后:
select * from up_date where update to_date('2007-09-07 00:00:00','yyyy-mm-dd hh24:mi:ss')
select * from up_date where update = to_date('2007-09-07 00:00:00','yyyy-mm-dd hh24:mi:ss')
精确时间:
select * from up_date where update = to_date('2007-09-07 00:00:00','yyyy-mm-dd hh24:mi:ss')
我感觉你应该是不知道怎么写每月和每年吧。其实很简单,把你下次时间的字符串拿出来看下就行。下面是代码。
DECLARE
I4 INTEGER;I5 INTEGER;
BEGIN
--每月5号中午12点
DBMS_JOB.SUBMIT(I4,'YOUR PROC;',SYSDATE,'TRUNC(SYSDATE, ''MM'') + 4 + 12 / 24');
--每年1月10号中午12点
DBMS_JOB.SUBMIT(I5,'YOUR PROC;',SYSDATE,'TRUNC(SYSDATE, 'Y') + 9 + 12 / 24');
COMMIT;
END;
两个时间怎么能相加?比如2017年9月6日 16点 + 2017年9月6日 16点 是多少?
能相加的是,时间 + 时间差(天数、小时数、或者分钟数 等),比如:2017年9月6日 16点 + 1小时10分 = 2017年9月6日 17点 10分
所以你的字段具体代表什么含义,才能决定你的代码是否可以执行
如果 cfrq 是 date类型,shrq 也是 date 类型,显然是不可以的
如果 cfrq 是 date类型,shrq 也是 number 类型,表示送货需要的时间(天数,可为小数),则dd.cfrq + dd.shrq "到达时间"是满足你最终需求的。
oracle分中文版和英文版的,你用的应该是中文版的,那么就一概是'17-12月-80',英文版的才是'17-DEC-80'