看你什么数据库
oracle的可以这样,用connect by 算出中间每一天,然后用这个临时表去做主表串实际数据,这样你选择什么时间段,就出来哪些日期了
WITH PERIOD_VALUE AS (
SELECT
DISTINCT PERIOD_VALUE
FROM (
SELECT
TO_CHAR(TO_DATE('${ReworkDateStr}', 'YYYY-MM-DD') + LEVEL - 1,
${IF(ShowPeriod='日别',"'YYYY-MM-DD'",IF(ShowPeriod='月别',"'YYYY-MM'","'YYYY'"))}) AS PERIOD_VALUE
FROM
DUAL
CONNECT BY
LEVEL < (TO_DATE('${ReworkDateEnd}', 'YYYY-MM-DD') - TO_DATE('${ReworkDateStr}', 'YYYY-MM-DD')) + 2
)