질문 1
날짜가 정수 (실제 숫자 (8,0))로 저장된 시스템으로 작업 중이며 다른 시스템 도이 스레드의 cisco 와 같은 날짜를 int로 저장하는 것을 알았습니다 . 예
20120101 -- 01 Jan 2012
숫자 날짜 시스템을 유지하고 SQL 날짜 시간을 사용하지 않는 이점이 있습니까?
질문 2
이제 두 날짜 사이의 고객을 찾기 위해 숫자 날짜를 반복하려고합니다. start
and가 enddate
2 개월 인 경우 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
60 대신 8931 레코드를 가져옵니다. 위의 논리를 개선하는 더 좋은 방법이 있습니까? IsDate와 하위 쿼리를 시도했지만 효율적으로 작동하지 않았습니다.