我有一个查询,我只想显示最近更新数据(昨天或更早)的结果。
我的查询从 4 个不同的表中提取数据,因此我需要检查每个表的
LAST_UPDATE_DATE
列。
如果其中任何一个的
LAST_UPDATE_DATE
值是昨天或更早的,那么我想提取所有这些数据。
所以我将其添加到我的查询中:
AND (a.LAST_UPDATE_DATE >= dateadd(day,datediff(day,1,GETDATE()),0)
OR b.LAST_UPDATE_DATE >= dateadd(day,datediff(day,1,GETDATE()),0)
OR c.LAST_UPDATE_DATE >= dateadd(day,datediff(day,1,GETDATE()),0)
OR d.LAST_UPDATE_DATE >= dateadd(day,datediff(day,1,GETDATE()),0))
我认为它有效,但是有没有办法缩短语句,因为它很长且令人困惑。
根据您在问题中提供的有限信息:
DECLARE @TargetDate AS DATETIME = dateadd(day,datediff(day,1,GETDATE()),0)
/* The rest of your query here */
AND (
a.LAST_UPDATE_DATE >= @TargetDate
OR b.LAST_UPDATE_DATE >= @TargetDate
OR c.LAST_UPDATE_DATE >= @TargetDate
OR d.LAST_UPDATE_DATE >= @TargetDate
)