Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menjana Jadual Tarikh Sementara dalam SQL Server 2000 dengan Jurang dalam Data?

Bagaimana untuk Menjana Jadual Tarikh Sementara dalam SQL Server 2000 dengan Jurang dalam Data?

Susan Sarandon
Lepaskan: 2024-12-28 15:35:22
asal
201 orang telah melayarinya

How to Generate a Temporary Date Table in SQL Server 2000 with Gaps in Data?

Menjana Jadual Tarikh Sementara dalam SQL Server 2000

Untuk mencipta jadual sementara yang diisi dengan julat tarikh dalam SQL Server 2000, satu alternatif pendekatan diperlukan apabila terdapat jurang dalam data yang tersedia. Penyelesaian berikut dibina berdasarkan soalan yang dikemukakan dan menyediakan panduan langkah demi langkah untuk menjana jadual sedemikian.

Pertama sekali, isytiharkan pembolehubah untuk menahan tarikh mula dan tamat:

declare $startDate set $startDate = select min(InsertDate) from customer
declare $endDate set $endDate = select max(InsertDate) from customer
Salin selepas log masuk

Seterusnya, cipta jadual kekal untuk menyimpan semua tarikh dalam julat yang dikehendaki:

CREATE TABLE #Dates (
  Month DATE,
  Trials INTEGER,
  Sales INTEGER
)
Salin selepas log masuk

Sekarang, isikan jadual menggunakan gelung WHILE yang menambah tarikh dengan satu hari sehingga tarikh tamat dicapai:

DECLARE @dIncr DATE = $startDate
DECLARE @dEnd DATE = $endDate

WHILE ( @dIncr < @dEnd )
BEGIN
  INSERT INTO #Dates (Month, Trials, Sales) VALUES(@dIncr, 0, 0)
  SELECT @dIncr = DATEADD(DAY, 1, @dIncr )
END
Salin selepas log masuk

Akhir sekali, kumpulkan hasil mengikut bulan dan masukkan nilai pemegang tempat ke dalam jadual sementara:

insert #dates
select dbo.FirstOfMonth(InsertDate) as Month, 0 as Trials, 0 as Sales
from customer
group by dbo.FirstOfMonth(InsertDate)
Salin selepas log masuk

Ini penyelesaian membenarkan penciptaan jadual sementara yang diisi dengan julat tarikh, walaupun terdapat jurang dalam set data asal.

Atas ialah kandungan terperinci Bagaimana untuk Menjana Jadual Tarikh Sementara dalam SQL Server 2000 dengan Jurang dalam Data?. 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