【发布时间】:2016-08-18 23:51:50
【问题描述】:
我有一个将所有 12 个月存储为记录的表,以及另外两个列,processDate 和 completed。 processDate 字段是流程每月运行的日期,该字段每年更新一次。当进程在每个月的 processDate 日期完成运行时,另一列“已完成”是布尔值更改为 true。
我有一个最大查询,它返回所有 12 条记录的 processDate,其中已完成。
我想要的是 max(processDate) 之前的日期
SELECT MAX(processDate) FROM refreshProcessdates WHERE completed = 'True'
如何返回比 Max processDate 少 1 的记录,即前一个月?
SQL Server Express 2008
【问题讨论】:
-
请澄清。上一次执行前的每个月的日期还是上一次执行的日期?如果后者只需添加
AND processDate < (SELECT MAX(processDate) FROM refreshProcessdates WHERE completed = 'True') -
这是之前执行的日期。
-
它成功了,谢谢,请添加您的评论作为答案,以便我可以这样确认。
标签: sql-server-2008 tsql date