select (to_char(to_date(?, 'yyyy-MM') +
(rownum - 1) * 1,
'yyyy-MM')) as countdate,
1 as id
from all_objects
where rownum <= (to_date(?, 'yyyy-MM') -
to_date(?, 'yyyy-MM') + 1)
上述代码,在使用过程中,会出现月份叠加好多的现象,根本原因在于日期作差得出的差额是天数,而非月数。
本文讨论了在SQL中使用日期运算时出现的月份叠加现象,根本原因是日期作差得出的是天数而非月数。提供了一种解决方法,通过调整日期计算逻辑避免月份叠加。
685

被折叠的 条评论
为什么被折叠?



