2

OK、SQLはかなり得意だと思いました...2つの日時列を比較する必要があります。

誰かが違いを説明できますか

DateA > DateB

DateDiff(d,DateB,DateA) >= 1

これらの2つのステートメントは機能的に同等だと思いましたが、私は間違っていたと思います...

4

4 に答える 4

4
DateA > DateB

DateAがDateBより大きいかどうかをチェックします(01/12/201214:50:01が01/12/201214:50:00より大きい)。


DateDiff(d,DateB,DateA) >= 1

日数の差(最初の引数としてのdatepart d)が1日以上であるかどうかを確認します。

于 2012-05-17T12:35:19.913 に答える
2

DateA > DateBDateAがDateBより少なくとも1ミリ秒大きい場合、trueと評価されます

DateDiff(d,DateB,DateA) >= 1DateBとDateAの差が少なくとも1日である場合、trueと評価されます

つまり、今日の12:00が今日の11:00よりも大きいと思う場合は、オプション1を使用してください。

真夜中過ぎの日付が別の日付よりも大きいと思われる場合は、オプション2を選択してください

于 2012-05-17T12:44:02.630 に答える
1

DateADateB1分または1秒または1ミリ秒後の場合よりも大きくなります。

あなたDateDiffは一日の違いを探しています。

意図するかどうかにかかわらず、DateTime常に時間が含まれているので、それを考慮に入れる必要があります。

于 2012-05-17T12:35:37.527 に答える
1

DateA > DateBが(たとえば1ミリ秒)よりもわずかに大きい場合DateAでも真になります。DateB

DateDiff(d,DateB,DateA) >= 1日付の差が1日以上の場合はtrueになります。

于 2012-05-17T12:36:09.397 に答える