SQLserver

WHERE

inputtime BETWEEN '${CONCATENATE(year-1,"-01-01")}' 

AND '${YEARDELTA(today(),-1)}'

AND inputtime <= '${CONCATENATE(year-1,"-12-31")}'

有个年份下拉框(year),下拉框是今年的话,用如图inputtime字段显示去年同期数据(去年一月一号到去年当前日期),下拉框是之前年份的话,用如图code显示下拉框前一年一整年数据

可以实现吗

用户K0035705 发布于 2021-2-5 15:36 (编辑于 2021-2-5 15:56)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
krystal033Lv7高级互助
发布于2021-2-5 16:35
select * from tab WHERE inputtime>= case when '${year}' =year(getdate()) then   substring(convert(varchar(10), getdate() -365 , 120), 1, 4) + '-01-01'  else cast('${year}'-1 as varchar)+'-01-01' end   and inputtime<=  case when '${year}' =year(getdate()) then (select convert(char(10),getdate()-365,120)) else  cast('${year}'-1 as varchar)+'-12-31' end

  • 2关注人数
  • 316浏览人数
  • 最后回答于:2021-2-5 16:35
    请选择关闭问题的原因
    确定 取消
    返回顶部