MySQL查询中跳过天数的逻辑
我有一个网站,人们可以去预约医生。在医生预约的前一天,服务台会打电话给患者,确保他们在预约当天在场 现在我在Admin中做了一个屏幕,显示明天有预约的人。如果明天是周六的周日,它应该显示周一有预约的人,因为诊所将在周日关闭 我做了一个查询,它会带来明天有约会的人员列表。现在,我应该在这个查询中添加什么来获取周一的人员列表,以防明天是周日 CREATE TABLE Patients_Appointment_List( Patent_Id INT UNSIGNED PRIMARY AUTO_INCREMENT, Patient_Name VARCHAR(255), appointment_Date DATE ); 创建表格患者\预约\列表( 专利Id INT无符号主自动增量, 患者姓名VARCHAR(255), 预约日期 ); 我应该在下面的查询中添加什么来跳过星期天并从星期一开始 SELECT Patient_Name FROM Patients_Appointment_List WHERE appointment_Date BETWEEN now() and date_add(now(), INTERVAL 1 DAY) 选择患者姓名 来自患者预约列表 其中约会日期介于现在()和添加日期之间(现在(),间隔1天)MySQL查询中跳过天数的逻辑,mysql,sql,database-design,Mysql,Sql,Database Design,我有一个网站,人们可以去预约医生。在医生预约的前一天,服务台会打电话给患者,确保他们在预约当天在场 现在我在Admin中做了一个屏幕,显示明天有预约的人。如果明天是周六的周日,它应该显示周一有预约的人,因为诊所将在周日关闭 我做了一个查询,它会带来明天有约会的人员列表。现在,我应该在这个查询中添加什么来获取周一的人员列表,以防明天是周日 CREATE TABLE Patients_Appointment_List( Patent_Id INT UNSIGNED PRIMARY AUTO_I
您可以在
WHERE
子句中使用条件CASE
表达式来检查明天是否是星期天。如果是,请调整条件检查以包括接下来的两天,否则,只需显示明天之前的约会:
SELECT Patient_Name
FROM Patients_Appointment_List
WHERE
CASE WHEN WEEKDAY(CURDATE() + INTERVAL 1 DAY) = 6 THEN
appointment_Date BETWEEN NOW() AND NOW() + INTERVAL 2 DAY ELSE
appointment_Date BETWEEN NOW() AND NOW() + INTERVAL 1 DAY
END
您可以在
WHERE
子句中使用条件CASE
表达式来检查明天是否是星期天。如果是,请调整条件检查以包括接下来的两天,否则,只需显示明天之前的约会:
SELECT Patient_Name
FROM Patients_Appointment_List
WHERE
CASE WHEN WEEKDAY(CURDATE() + INTERVAL 1 DAY) = 6 THEN
appointment_Date BETWEEN NOW() AND NOW() + INTERVAL 2 DAY ELSE
appointment_Date BETWEEN NOW() AND NOW() + INTERVAL 1 DAY
END
我包括了一个开始日期在周日的案例。@RosePerrone如果诊所周日关闭,那么周日就不应该有预约了,是吗?…我包括了一个开始日期在周日的案例。@RosePerrone如果诊所周日关闭,那么周日就不应该有预约了,是吗?。。。