在做一个计算请假时间的问题。自动计算请假时间 精确到 年月日时,如果可以精确到分的话,那更好。。
年月日,时,是用4个字段存的,必须这样存,客户要求分开。精确到年月日没问题,如果到时的话,就用问题了,如果时间大于1天的话,如请假时间从2013-4-1 到 2013-4-2 请假时间为1天,但是在系统里面显示的为 1,天24小时。 如果请假时间小于1天的话,那还是没问题。我取时间的sql 为 select trunc(to_number(HR_DAYTO - HR_DAYFROM)*24,1) from hr_false HR_DAYTO 为截止时间
HR_DAYFROM 为起始时间我认为是我的sql 写的有问题。请教各位帮忙,告诉小弟要怎么写才对。我这个是用adempiere 开发的,无法在程序里面加判断去找,只能写sql 来做求教。。如果要将时间拆成 时,分也可以的。如请假 5小时20分钟,那就分2个字段来访。这样是最理想的,因为我写的这个sql 如 5.4 表示5个小时,后面的0.4 还需要自己去计算,0.4*60 才是分钟,这样客户估计有点不爽的
年月日,时,是用4个字段存的,必须这样存,客户要求分开。精确到年月日没问题,如果到时的话,就用问题了,如果时间大于1天的话,如请假时间从2013-4-1 到 2013-4-2 请假时间为1天,但是在系统里面显示的为 1,天24小时。 如果请假时间小于1天的话,那还是没问题。我取时间的sql 为 select trunc(to_number(HR_DAYTO - HR_DAYFROM)*24,1) from hr_false HR_DAYTO 为截止时间
HR_DAYFROM 为起始时间我认为是我的sql 写的有问题。请教各位帮忙,告诉小弟要怎么写才对。我这个是用adempiere 开发的,无法在程序里面加判断去找,只能写sql 来做求教。。如果要将时间拆成 时,分也可以的。如请假 5小时20分钟,那就分2个字段来访。这样是最理想的,因为我写的这个sql 如 5.4 表示5个小时,后面的0.4 还需要自己去计算,0.4*60 才是分钟,这样客户估计有点不爽的
select mod(ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60 ),60) from hr_false --计算分钟的