2016-11-08 34 views
0

我正在开发一个有两个日期的酒店管理项目。一个日期是在哪个日期房间预订的,另一个日期是他的离开日期。这两个日期已经在数据库中。现在,如果新客人在提及的这两个日期之间的同一天出现并预订,则应该在选定日期留言,例如房间预订。如何执行数据库的所有记录之间的日期检查

+0

告诉我们你有多远,什么不工作。 你正在尝试一个SQL过程,或只是C#方法? – Poody

+0

我必须在我的C#项目中执行此操作。但我正在寻找我的SQL SERVER 2008中的逻辑。 –

+0

@RahulKumar检查我的答案 –

回答

0
select Count(1) from tablename where getdate() between Startdate and EndDate 

在您的情况检查计数。如果计数> 0鞋邮件

*表名= yourtablename

*开始日期和结束日期=相应地按您的COLUMNNAME变化

UPDATE:

select Count(1) from tablename where getdate()>=Startdate and getdate() <= EndDate 
+0

它只能在一个日期,但我必须选择两个日期,即房间预订日期和出发日期,然后我必须检查它是否冲突或不。 –

+0

@RahulKumar检查我更新的答案。现在它容易吗? –

+0

等你,只是给我一个提示 –

0
declare @bookingDate as datetime ,@roomId as int 
Select @bookingDate = '[Insert Date Here]',@roomId = [Enter your roomId] 

select 1 as 'booked' from some_table 
where @bookingDate > date_checked_in 
and @bookingDate < date_checked_out 
and roomId = @roomId 

//也许交实际的桌子是什么样子?

+0

表太复杂了。只是想想两个字段的开始日期和结束日期 –

+0

然后上面的工作。你甚至可以把它变成一个函数,返回一个表示房间是否可用的位值。 即f_IsRoomAvailable(roomId,Required_Date) 或者,创建一个存储过程,该过程返回指定日期可用的房间列表。 –

相关问题