DateFinishedという名前のdatetimeフィールドがあります。私は、DateFinishedが現在の月/年内にあるすべてのレコードを取得できる必要があります。TSQLは現在の月/年のすべてのレコードを取得します
6
A
答えて
15
少数の行しか持っていない場合は、DateFinished
が今年の今月のすべての行を取得します。
SELECT *
FROM MyTable
WHERE Year(DateFinished) = Year(CURRENT_TIMESTAMP)
AND Month(DateFinished) = Month(CURRENT_TIMESTAMP)
これはしかし多数の行を超える非常に遅く得ることができます - その場合にDateAdd
、DatePart
とBETWEEN
を使用して、私は書く時間がない(おそらく、より適切である、とインデックスを利用することができます今の人たちの答え!)
9
代わりに、これはDateFinishedのインデックスを使うべきです。
SELECT *
FROM MyTable
WHERE DateFinished BETWEEN
DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()), 0)
AND
DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()) + 1, 0)
関連する問題
- 1. Laravelは月と年のレコードを取得します
- 2. 現在の月と前月の最後のレコードを取得する
- 3. 今年のすべてのレコードを取得するには?
- 4. MySQLは現在の年に1,2,3,4を取得します
- 5. MySQLは特定の月、年の間にレコードを取得します
- 6. 現在の日付から最後の月と年を取得する方法
- 7. 年月の間にすべてのデータを取得
- 8. Javaで、現在の月の日数を取得します
- 9. SQL現在の月/年の質問
- 10. 生年月日を取得するロジック年齢から年月日を表現します
- 11. 現在の月から月のリストを取得するSQLクエリ
- 12. 現在のNSDateから来年を取得しますか?
- 13. Excel VBA現在の月を取得
- 14. すべての前月を現在の月から隠す
- 15. 現在の年を無視して日と月を取得するSQL Server文は何ですか?
- 16. Cognosレポートスタジオでyearと現在の年が同じで、現在の月が現在の月に等しい場合
- 17. 年が現在の年、月が現在の月、曜日が文字列である30日以内に行を取得する
- 18. 炭素は、指定された開始年と現在の年の間の年を取得します
- 19. 月/月を除く月の現在の日付を取得する
- 20. 月と年のユーザー入力を取得して、その月と年の日付をExcelに入力します
- 21. 2016年10月現在のjHipster UAAのステージは何ですか?
- 22. 現在の月/ 1900年1月の代わりに
- 23. 表示SSRS 2008年に現在の年のためのドロップダウンで月、年月を表示する方法
- 24. vue.jsで現在の年を取得するには?
- 25. Scala - 特定の年のすべての月と日を取得する
- 26. 先月のレコードを取得
- 27. 現在のアクティブユーザの最終レコードを取得する方法は?
- 28. JSPページ内の現在のものから前の年を取得します
- 29. SSRSパラメータ開始日現在の月の1年前から現在の月の初日まで
- 30. Fullcalendar、現在の月の現在のボタンをアクティブにします
月部分がオフですか? – Moose
@Moose Thanks - まだ編集中です:-) – Bridge
これは動作しますが、 'YEAR()'や 'MONTH()'を使用すると基本的にSQL Serverがインデックスを使用できなくなってしまいます。 OPがこれを頻繁に必要とする場合は、各行の月/年を保持している2つの**計算済み永続化**列を作成してそれらを照会すると便利です。 –