これは、見つけるのに時間がかかったバグでした。他の誰かのこの間違いを救うために、ここに投稿します。
(一度見つかったら非常に簡単ですが、犯すのは簡単でコストのかかる間違いです。)
なぜselect datediff(w, getdate()-7, getdate())
1 ではなく 7 を与えるのですか?
これは、見つけるのに時間がかかったバグでした。他の誰かのこの間違いを救うために、ここに投稿します。
(一度見つかったら非常に簡単ですが、犯すのは簡単でコストのかかる間違いです。)
なぜselect datediff(w, getdate()-7, getdate())
1 ではなく 7 を与えるのですか?
はw
日として解釈されます。ここでは言及されていませんが、不可解なことに、日数を意味するようです。(なぜこれがエラーにならないのかわかりませんdatediff(foo, getdate()-7, getdate())
...)
週の正しい単位はww
またはwk
です。
編集:@Lamakは、それは日でw
はなく平日であると言います。について文書化されたものは何もありません(私が見つけることができます)w
が、これは正しいかもしれません。