pertanyaan 1
Saya bekerja dengan sistem di mana tanggal disimpan sebagai integer (angka aktual (8,0)) dan saya perhatikan bahwa sistem lain juga menyimpan tanggal sebagai int seperti cisco di utas ini . Contoh
20120101 -- 01 Jan 2012
Apakah ada keuntungan menjaga sistem tanggal numerik dan tidak menggunakan SQL Datetime?
Pertanyaan 2
Sekarang saya mencoba untuk mengulangi tanggal numerik untuk menemukan pelanggan di antara dua tanggal. Jika start
dan enddate
mencakup dua bulan, saya mendapatkan ribuan catatan, bukan hanya 60. Contoh:
create table #temp1(day int,capacity int) /* just a temp table */
declare @start int
declare @end int
set @start=20111201
set @end = 20120131
while (@start <= @end)
Begin
insert into #temp1 /* I am storing things in #temp table so data looks pretty */
exec usp_GetDailyCap @date1= @start
set @start = @start + 1;
end
select * from #temp1
Ini menarik 8931 catatan, bukan 60. Apakah ada cara yang lebih baik untuk meningkatkan logika di atas jadi saya hanya menarik tanggal yang valid? Saya mencoba IsDate dan sub-kueri tetapi itu tidak cukup efisien.