如何修改SQL查询以获取当前日期前后14天的数据?
调整SQL查询以获取当前日期前后14天的数据
你只需要修改WHERE子句中的日期条件,将原本的等于判断改为范围判断,让anmeld_dat落在当前日期减14天到当前日期加14天的区间内即可。
调整后的完整SQL语句如下:
SELECT gut_pri as summe FROM [hydra1].[hydadm].[v_ade_protokoll] WHERE masch_nr= 'FIMI3' AND anmeld_dat BETWEEN DATEADD(day, -14, CONVERT(date, GETDATE())) AND DATEADD(day, 14, CONVERT(date, GETDATE()))
关键修改说明
- 用
BETWEEN ... AND ...替代原本的等于判断,明确指定日期范围的上下限 - 下限:
DATEADD(day, -14, CONVERT(date, GETDATE()))计算当前日期往前推14天的日期 - 上限:
DATEADD(day, 14, CONVERT(date, GETDATE()))计算当前日期往后推14天的日期
如果你的anmeld_dat字段包含时间部分(例如yyyy-MM-dd HH:mm:ss格式),为了避免漏掉上限日期当天的所有时间数据,也可以用以下写法:
SELECT gut_pri as summe FROM [hydra1].[hydadm].[v_ade_protokoll] WHERE masch_nr= 'FIMI3' AND anmeld_dat >= DATEADD(day, -14, CONVERT(date, GETDATE())) AND anmeld_dat < DATEADD(day, 15, CONVERT(date, GETDATE()))
内容的提问来源于stack exchange,提问作者Rene
相关产品推荐
相关产品推荐

