Domanda 1
Sto lavorando con un sistema in cui la data è memorizzata come numero intero (numerico effettivo (8,0)) e ho notato che anche altri sistemi memorizzano la data come int come Cisco in questo thread . Esempio
20120101 -- 01 Jan 2012
C'è qualche vantaggio nel mantenere il sistema di data numerico e non usare SQL Datetime?
Domanda 2
Ora sto cercando di scorrere la data numerica per trovare i clienti tra due date. Se il start
e enddate
comprende due mesi, ottengo migliaia di record anziché solo 60. Esempio:
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
Questo tira 8931 record invece di 60. Esiste un modo migliore per migliorare la logica di cui sopra, quindi estraggo solo date valide? Ho provato IsDate e le query secondarie ma non ha funzionato in modo efficiente.