1

スケジューラーを使用して 3 日ごとに差分を作成する方法を知っているかどうか知りたいです。

SELECT DISTINCT 
    CLAIM_NO,
    ModifiedBy,
    ClaimType,
    ClaimStatus,
    EmailAddress,
FROM EP_ADMIN_ITEM_REMINDER
WHERE Status = 1 AND DATEDIFF(Day,DateAdded,getdate()) = 3

これは DATEDIFF の私のコードで、WHERE 句に入れました。日付 1 番目の DateAdded 2 番目の DateSent の列が 2 つあります。最初にdatesentを更新し、datesentが3に追加されたdateよりも大きいかどうかを確認するように、3日ごとにスケジュールする必要があります。私のWHERE句が正しいかどうか知りたいだけです。ありがとう

4

2 に答える 2

6
SELECT DISTINCT 
CLAIM_NO,
ModifiedBy,
ClaimType,
ClaimStatus,
EmailAddress,
FROM EP_ADMIN_ITEM_REMINDER
WHERE Status = 1 AND DATEDIFF(Day,DateAdded,getdate()) > 2
于 2012-10-01T13:57:59.530 に答える
2

SARGability を念頭に置いてください。具体的には、あなたが持っているような関数を実行すると、すべての行に対して実行する必要があるため、パフォーマンスが低下する可能性があります (DATEDIFF がこれに最適化されているかどうかは覚えていません)。試す

WHERE [DateAdded] > DATEADD(day, -3, getdate())
于 2012-10-01T17:27:42.937 に答える