msyql-数据集。如何判断当前年月

我的date是一个参数:2025-09 。我想实现的是当 date参数=当前年月就执行第一个判断。 这个sql我应该怎么写呢。

WHERE 1=1 

${if(len(date)==date1,

" and 

date_format(a.date,'%Y-%m-%d') <= DATE_FORMAT(DATE_SUB(DATE_SUB(NOW(), INTERVAL 1 MONTH), INTERVAL 1 DAY),'%Y-%m-%d') and 

 date_format(a.date,'%Y-%m-%d')>= date_sub(date_sub(date_format(now(),'%y-%m-%d'),interval extract(day from now())-1 day),interval 1 month)

",

"and date_format(a.date,'%Y-%m') = DATE_FORMAT(DATE_SUB('"+date+"-"+01+"', INTERVAL 1 MONTH), '%Y-%m')")}

FineReport yikefu 发布于 2025-9-3 10:59
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
华莉星宸Lv7专家互助
发布于2025-9-3 11:03(编辑于 2025-9-3 11:04)

参数不要用date

WHERE 1=1 
${if(p_date==format(today(),"yyyy-MM"),
" and date_format(a.date,'%Y-%m-%d') <= DATE_FORMAT(DATE_SUB(DATE_SUB(NOW(), INTERVAL 1 MONTH), INTERVAL 1 DAY),'%Y-%m-%d') and  date_format(a.date,'%Y-%m-%d')>= date_sub(date_sub(date_format(now(),'%y-%m-%d'),interval extract(day from now())-1 day),interval 1 month)",
"and date_format(a.date,'%Y-%m') = DATE_FORMAT(DATE_SUB('"+p_date+"-"+01+"', INTERVAL 1 MONTH), '%Y-%m')")}
  • 2关注人数
  • 18浏览人数
  • 最后回答于:2025-9-3 11:04
    请选择关闭问题的原因
    确定 取消
    返回顶部