Câu hỏi 1
Tôi đang làm việc với một hệ thống trong đó ngày được lưu trữ dưới dạng số nguyên (số thực (8,0)) và tôi đã nhận thấy rằng các hệ thống khác cũng lưu trữ ngày như int như cisco trong chuỗi này . Thí dụ
20120101 -- 01 Jan 2012
Có bất kỳ lợi thế nào của việc giữ hệ thống ngày số và không sử dụng SQL Datetime không?
Câu hỏi 2
Bây giờ tôi đang cố gắng lặp qua ngày số để tìm khách hàng giữa hai ngày. Nếu start
và enddate
bao gồm hai tháng, tôi nhận được hàng ngàn hồ sơ thay vì chỉ 60. Ví dụ:
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
Điều này kéo 8931 bản ghi thay vì 60. Có cách nào tốt hơn để cải thiện logic ở trên để tôi chỉ lấy ngày hợp lệ không? Tôi đã thử IsDate và các truy vấn phụ nhưng nó không hoạt động theo cách hiệu quả.