Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mendapatkan Rekod Bulan Lalu dengan Cekap dalam SQL Server?

Bagaimana untuk Mendapatkan Rekod Bulan Lalu dengan Cekap dalam SQL Server?

Barbara Streisand
Lepaskan: 2025-01-01 10:27:10
asal
209 orang telah melayarinya

How to Efficiently Retrieve Last Month's Records in SQL Server?

Cara Mengambil Rekod untuk Bulan Sebelumnya dalam SQL Server

Apabila bekerja dengan jadual pangkalan data yang mengandungi medan cap masa, ia selalunya diperlukan untuk mendapatkan semula rekod untuk tempoh masa tertentu, seperti bulan sebelumnya. SQL Server menyediakan pelbagai kaedah untuk mencapainya.

Masalahnya:

Anda perlu mengekstrak rekod berdasarkan lajur date_created daripada jadual ahli di mana rekod berada dalam bulan sebelumnya. Contohnya, jika tarikh semasa ialah 3 Januari 2010, anda perlu mendapatkan semula rekod dari 1 Disember 2009 hingga 31 Disember 2009.

Cabaran:

Sesetengah penyelesaian sedia ada menghadapi masalah dengan mengabaikan indeks atau memilih data di luar yang dimaksudkan julat.

Pendekatan yang Betul:

Untuk mengelakkan perangkap ini, pendekatan yang disyorkan menggunakan perbandingan ketidaksamaan untuk memastikan pengambilan data yang tepat. Berikut ialah pertanyaan yang diperbetulkan:

DECLARE @startOfCurrentMonth DATETIME
SET @startOfCurrentMonth = DATEADD(month, DATEDIFF(month, 0, CURRENT_TIMESTAMP), 0)

SELECT *
FROM Member
WHERE date_created >= DATEADD(month, -1, @startOfCurrentMonth)
AND date_created < @startOfCurrentMonth
Salin selepas log masuk

Kaedah ini mengira permulaan bulan semasa dan menggunakan perbandingan ketidaksamaan untuk memasukkan rekod untuk bulan sebelumnya sahaja. Dengan menggunakan indeks dan mengelakkan perbandingan yang tidak perlu, pendekatan ini memberikan hasil yang cekap dan tepat.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Rekod Bulan Lalu dengan Cekap dalam SQL Server?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan