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
Seterusnya, cipta jadual kekal untuk menyimpan semua tarikh dalam julat yang dikehendaki:
CREATE TABLE #Dates ( Month DATE, Trials INTEGER, Sales INTEGER )
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
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)
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!