日期:2014-05-17  浏览次数:20789 次

怎么获得员工工作了零多少天?
计算员工工作了多少年零多少月零多少天 是应该用 trunc( mod(mod(sysdate-hiredate,365),12) ) as days 获得天数,还是用trunc(mod(sysdate-hiredate,30)) as days 呢?两个执行出来的结果是不一样的,第一个式子在除以365取余后,又除以12取余不理解啊,怎么是除以12啊?

------解决方案--------------------
刚看懂  应该是后面一个 

内层mod(sysdate-hiredate,365) 是去掉整数年 剩余小1年的天数
外层mod(*,30) 在小于1年的天数里面取余30 得到小于1个月的天数

其实算出来也不是特别准确 有时候刚好那么几天 会产生一个月的误差

ps:上面的复制错了 35改为25...