OK、SQLはかなり得意だと思いました...2つの日時列を比較する必要があります。
誰かが違いを説明できますか
DateA > DateB
と
DateDiff(d,DateB,DateA) >= 1
これらの2つのステートメントは機能的に同等だと思いましたが、私は間違っていたと思います...
OK、SQLはかなり得意だと思いました...2つの日時列を比較する必要があります。
誰かが違いを説明できますか
DateA > DateB
と
DateDiff(d,DateB,DateA) >= 1
これらの2つのステートメントは機能的に同等だと思いましたが、私は間違っていたと思います...
DateA > DateB
DateAがDateBより大きいかどうかをチェックします(01/12/201214:50:01が01/12/201214:50:00より大きい)。
DateDiff(d,DateB,DateA) >= 1
日数の差(最初の引数としてのdatepart d
)が1日以上であるかどうかを確認します。
DateA > DateB
DateAがDateBより少なくとも1ミリ秒大きい場合、trueと評価されます
DateDiff(d,DateB,DateA) >= 1
DateBとDateAの差が少なくとも1日である場合、trueと評価されます
つまり、今日の12:00が今日の11:00よりも大きいと思う場合は、オプション1を使用してください。
真夜中過ぎの日付が別の日付よりも大きいと思われる場合は、オプション2を選択してください
DateA
DateB
1分または1秒または1ミリ秒後の場合よりも大きくなります。
あなたDateDiff
は一日の違いを探しています。
意図するかどうかにかかわらず、DateTime
常に時間が含まれているので、それを考慮に入れる必要があります。
DateA > DateB
が(たとえば1ミリ秒)よりもわずかに大きい場合DateA
でも真になります。DateB
DateDiff(d,DateB,DateA) >= 1
日付の差が1日以上の場合はtrueになります。