您可以使用 3 个字段来存储此信息,
slot_date - to store date of slot like 2018-12-17, 2018-12-18, etc
slot_time - to store time slot like 13:00:00, 15:00:00, etc
user_id - to store user identifier
假设您的 2 个具有这些字段的用户的示例数据看起来有点像这样,
slot_date slot_time user_id
---------------------------------
2018-12-17 14:00:00 1
2018-12-17 17:00:00 2
您可以轻松获取给定时间段内用户的可用性。例如,您想获取今天下午时段的可用性(考虑到下午 1 点到 4 点是晚上时段),可以通过以下查询检索,
SELECT slot_date, slot_time, user_id
FROM tbl_slot
WHERE slot_date = '2018-12-17'
AND slot_time BETWEEN '13:00:00' AND '15:00:00'
同样,您可以将查询中的slot_time 子句更改为适用于早晚时段。
更新
根据 OP 的要求,如果用户选择一天和一个时段,它将适用于每个月/年。基于它,您可以消除 slot_date 列并使用 day_of_week 将存储从 1 到 7 的整数值,即(Sun to Sat)
day_of_week slot_time user_id
-----------------------------------
2 14:00:00 1
2 17:00:00 2
然后,获取所有下午可用性的查询将是,
SELECT day_of_week, slot_time, user_id
FROM tbl_slot
WHERE day_of_week = '2'
AND slot_time BETWEEN '13:00:00' AND '15:00:00'