Questão 1
Estou trabalhando com um sistema em que a data é armazenada como inteiro (número numérico real (8,0)) e notei que outros sistemas também armazenam a data como int, como cisco, neste segmento . Exemplo
20120101 -- 01 Jan 2012
Existe alguma vantagem em manter o sistema de datas numéricas e não usar o SQL Datetime?
Questão 2
Agora, estou tentando percorrer a data numérica para encontrar clientes entre duas datas. Se start
e enddate
abranger dois meses, recebo milhares de registros em vez de apenas 60. Exemplo:
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
Isso puxa 8931 registros em vez de 60. Existe uma maneira melhor de melhorar a lógica acima, para que eu puxe apenas datas válidas? Tentei IsDate e subconsultas, mas isso não funcionou de maneira eficiente.