大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
oracle定时任务计算工龄字段值并更新表
巍山网站建设公司创新互联,巍山网站设计制作,有大型网站制作公司丰富经验。已为巍山上1000+提供企业网站建设服务。企业网站搭建\成都外贸网站制作要多少钱,请找那个售后服务好的巍山做网站的公司定做!
可以写一个存储过程,然后用job每天更新一次(这个频率自己控制)。 脚本中使用update A set gl=你的计算公式
用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
你用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,你在配置文件里如果定义的为大写,就用大写的。
select ename,to_char(Sysdate-hiredate,'yyyy"年"mm"月"dd"日"') from emp;
工作年限
select ename,round(to_char(sysdate-hiredate)) as day from emp;
工作天数