0

Good Day Every one現在、このコードを使用して特定の月のデータを取得しています

     SELECT * from Table1  d
where
MONTH(d.fld_ExpiryDate)=@month 
     AND  YEAR(d.fld_ExpiryDate)=@year 

私の同僚の何人かは、期間を使用するように私に言いました。

d.fld_LoanDate >= '2009-11-01' and
d.fld_LoanDate < '2009-12-01'

問題は、範囲を使用する方が良いでしょうか?? そして、月の始まりと翌月の始まりをどのように計算しますか? ユーザーがどこに入力した場合@month int and @year int?

どんな助けでも大歓迎です.tsqlの新しい私は、回避策とコーディングの何が良いかどうかを知りません..

ありがとうございました :)

4

2 に答える 2

1

にインデックスがある場合、範囲はより適切ですfld_LoanDatemont()and関数の周りのyear()関数は、インデックスの使用を妨げる傾向があります。

于 2013-09-19T02:41:39.563 に答える