sqlserver

当使用sql server 查询某个日期的数据,如果当该日期没有数据则返回最近的日期的数据

yzm233020 发布于 2022-7-14 21:10
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
好好生活好好学习Lv7资深互助
发布于2022-7-14 23:12(编辑于 2022-7-14 23:16)

你这个得判断

select * from 表 where 1=1 ${if(len(sql("数据连接", "select date from 表 where date = '"+参数+"' " ,1 )) = 0 , "  and date =select max(date) from 表 " , "and date ='"+参数+"'")  }

大概这么个道理

--------------

and 1=1 ${if(len(月份)==0,"",

             if(len(sql("数据连接","select distinct audit_yf from fr_problem_write where audit_yf = '"+月份+"'",1,1)) == 0 ,

             " and audit_yf  = (select max(audit_yf) from fr_problem_write limit 0,1) ",

             " and audit_yf = '"+月份+"'"

             ))}

之前写过个类似的, 是mysql的你参考一下; 月份参数有数据的查询,没有的查询最近月份

最佳回答
0
super001Lv6见习互助
发布于2022-7-14 22:11
declare @dt datetime=(select max(time) from 表) select * from 表 where 日期=@dt
  • 2关注人数
  • 413浏览人数
  • 最后回答于:2022-7-14 23:16
    请选择关闭问题的原因
    确定 取消
    返回顶部