重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
oracle定时任务计算工龄字段值并更新表
在成都网站制作、成都网站建设中从网站色彩、结构布局、栏目设置、关键词群组等细微处着手,突出企业的产品/服务/品牌,帮助企业锁定精准用户,提高在线咨询和转化,使成都网站营销成为有效果、有回报的无锡营销推广。创新互联专业成都网站建设10年了,客户满意度97.8%,欢迎成都创新互联客户联系。
可以写一个存储过程,然后用job每天更新一次(这个频率自己控制)。 脚本中使用update A set gl=你的计算公式
select ename,to_char(Sysdate-hiredate,'yyyy"年"mm"月"dd"日"') from emp;
工作年限
select ename,round(to_char(sysdate-hiredate)) as day from emp;
工作天数
你用hibernate的话,可以把每个人的工龄提前算出来啊,在Employee.hbm.xml里:
property name="workTime" formula="(select round(months_between(sysdate,hireDate))/12 from employee where emp_id=id)"
/property
然后Employee里定义一个workTime对象,你查询Employee时,每个人的工龄也算出来了。上面最后那个ID为当前记录的ID,你在配置文件里如果定义的为大写,就用大写的。
用MONTHS_BETWEEN函数可计算两个Date数据之间的月份数:
SELECT MONTHS_BETWEEN
(TO_DATE('02-02-1995','MM-DD-YYYY'),
TO_DATE('01-01-1995','MM-DD-YYYY') ) "Months"
FROM DUAL;
Months
----------
1.03225806