关于刷卡系统的多时间段的问题,请指教!(100分)

  • 主题发起人 主题发起人 lucky9805
  • 开始时间 开始时间
L

lucky9805

Unregistered / Unconfirmed
GUEST, unregistred user!
我最近正在做一个关于刷卡的系统,问题是这样的:
用户A可以在8:00-10:00,12:00-14:00,16:00-18:00进行刷卡
用户B可以在9:00-11:00,13:00-15:00,17:00-19:00.....
也就是说用户的刷卡时间是受限制的,但又不是固定的,这样我的数据库
要怎么才能进行查询?请指教!先谢了!
 
用一个表记录可以刷卡时间段
user starttime endtime
 
我的表已经设计好了starttime,endtime分别为 r11,r12,r21,r22,r31,r32....
只要尾数为2的则为endtime,首数相同为同一时间段!
我要怎么才能判断呢?
例如一个用户来刷卡,是要先查找到该用户,然后再判断时间吗?如果是要怎么来判断时间呢?
if now between starttime and endtime ,但这里的starttime 和endtime 有好几个字段呀!
 
我觉得不必要太复杂,用case语句和if语句试试。取刷卡时间的小时字段。
 
用户A可以在8:00-10:00,12:00-14:00,16:00-18:00进行刷卡
用户B可以在9:00-11:00,13:00-15:00,17:00-19:00.....
打卡时间应该是包括日期的时间如 2002-12-20 08:00:03
把你所设的时前段转化为带日期的时段例
A00001 员工2002/12/20日上A班,那么他的打卡时段应该为
2002-12-20 08:00:00 - 2002-12-20 10:00:00
2002-12-20 13:00:00 - 2002-12-20 15:00:00
2002-12-20 16:00:00 - 2002-12-20 18:00:00
....也有可能会有上2002/12/20的班但打卡时间会是2002/12/21号
2002-12-20 23:50:00 - 2002-12-21 01:20:00
再用打卡时间与此时段比较,写入相应的表的相应字段.
不知以上是不是你所要的.

 
我的主要问题是不知道如何写当前的时间和数据库中的所有时间段作比较的语句,谢谢回答!
 
你的表设计的不合理。应该修改。
 
请问要怎么修改呢,可我看到的都是这样设计的表,请高手指点!
 
接受答案了.
 
后退
顶部