Pregunta 1
Estoy trabajando con un sistema donde la fecha se almacena como un número entero (numérico real (8,0)) y he notado que otros sistemas también almacenan la fecha como int como cisco en este hilo . Ejemplo
20120101 -- 01 Jan 2012
¿Hay alguna ventaja de mantener el sistema de fecha numérico y no usar SQL Datetime?
Pregunta 2
Ahora estoy tratando de recorrer la fecha numérica para encontrar clientes entre dos fechas. Si start
y enddate
abarca dos meses, obtengo miles de registros en lugar de solo 60. Ejemplo:
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
Esto extrae 8931 registros en lugar de 60. ¿Hay una mejor manera de mejorar la lógica anterior para que solo extraiga fechas válidas? Intenté IsDate y las subconsultas, pero eso no funcionó de manera eficiente.