当前位置: 代码迷 >> Oracle管理 >> oracle 10g 触发器中时间相减有关问题
  详细解决方案

oracle 10g 触发器中时间相减有关问题

热度:292   发布时间:2016-04-24 06:20:43.0
oracle 10g 触发器中时间相减问题
oralce 10g 触发器中时间相减

开始时间 格式:2008-12-10
结束时间 格式:2011-11-10 18:54:25

如何用开始时间和结束时间 算出 中间经历的时间。输出格式为:2年11月

下面是触发器:

SQL code
create or replace trigger insert_out_user  after delete on employee  for each rowdeclare v_num number;begin  select count(*) into v_num from out_employee;  insert into out_employee  values    (    v_num + 1,     :old.u_name,     :old.u_entry_time,     sysdate,     此字段就是通过两时间相减得到的值。该怎么写,谢谢各位大神……,          :old.u_department,     :old.u_post,     :old.u_sex,     :old.u_age,     :old.u_phone     );  end insert_out_user;


------解决方案--------------------
SQL code
create or replace trigger insert_out_user  after delete on employee  for each rowdeclare v_num number; v_year varchar2(20);begin  select count(*) into v_num from out_employee;SELECT replace(trunc(months_between(a,b)/12,1),'.','年')||'月' into v_yearFROM(SELECT trunc(to_date('2011-11-10 18:54:25','yyyy-mm-dd hh24:mi:ss'),'mm')a,trunc(to_date('2008-12-10','yyyy-mm-dd'),'mm') bFROM dual);  insert into out_employee  values    (    v_num + 1,     :old.u_name,     :old.u_entry_time,     v_year;     :old.u_department,     :old.u_post,     :old.u_sex,     :old.u_age,     :old.u_phone     );  end insert_out_user;
  相关解决方案