日期:2014-05-16  浏览次数:20887 次

Proc中利用dual表判断两个日期间隔180天之内
在一段Proc程序中,我用:
EXEC SQL SELECT to_date(:e_date1, 'DDMONYY') - to_date(:s_date1, 'DDMONYY') INTO :count FROM DUAL;

if (count >= 180)
来确保e_date1和s_date1代表的时间间隔在180天之内。

请问这里是否有漏洞风险?谢谢!
------解决方案--------------------
to_date oracel已经帮你测试过了,什么,闰年2月平年2月啊。什么的,所以算出的时间肯定没问题。。

两个日期相减,可能出现正负(+/-)号。。。是不是可以考虑加上绝对值。。这样你在判断〉=180 时能保证它永远是正的。。。

------解决方案--------------------
加绝对值  。。。。。