问题1
我正在使用将日期存储为整数(实际数字(8,0))的系统,并且我注意到其他系统也在此线程中将日期存储为int,例如cisco。例
20120101 -- 01 Jan 2012
保留数字日期系统而不使用SQL Datetime有什么好处?
问题2
现在,我试图遍历数字日期以在两个日期之间找到客户。如果start
和enddate
包含两个月,我将获得数千条记录,而不仅仅是60条。示例:
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
这将提取8931条记录而不是60条记录。是否有更好的方法来改进上述逻辑,所以我仅提取有效日期?我尝试了IsDate和子查询,但是这种方法无法有效地工作。