0
select emp# 
from emp 
where dateadd(YY,1,[Completed Date]) in (getdate() - 30,getdate()) 

完了日が1年で、次の開始日の30日であるかどうかを確認しています。

例: 2012 年 3 月 22 日に完了したトレーニング

2013 年 3 月 22 日に再取得する必要があります

彼が次の 30 日間のバッチにいることを示す必要があります。

4

2 に答える 2

1

次のトレーニング (前回のトレーニング + 1 年) が次の 30 日以内、または期限を過ぎた全員を確認する場合は、次のようにします。

select *, dateadd(YY, 1, [Completed Date]) nextTraining
from emp
where dateadd(YY, 1, [Completed Date]) < getdate()+30
于 2013-03-26T00:53:01.497 に答える
0

IN上記のように使用することはできません。BETWEEN代わりに、または私の好ましい、大なり小なりを使用できます。

select emp# 
from emp 
where dateadd(YY,1,[Completed Date]) >= getdate()-30
   and dateadd(YY,1,[Completed Date]) <= getdate()

句のAND基準が必要かどうかはよくわかりませんが、必要な場合はそこにあります。WHERE「YY」の代わりに「年」を使用することもお勧めしますが、どちらも機能します。

于 2013-03-26T00:45:25.347 に答える