首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

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

2011-12-14 
oracle 10g 触发器中时间相减问题oralce 10g 触发器中时间相减开始时间 格式:2008-12-10结束时间 格式:201

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; 

热点排行
Bad Request.