2
如果日期范围(与开始和结束日期)在一个月(关于年),我试图用sql检查。月份和年份有变量(GET变量)。检查日期范围是否在月份(日历)
这是我的表:
+----+------+-------+-----+
| id | name | start | end |
+----+------+-------+-----+
因为预约可能只是一个日期(开始和结束是在同一天),我要考虑这一点。
我查询
SELECT
id,
name,
start,
end
FROM appointments
WHERE (MONTH(start) = ? AND YEAR(end) = ?) OR (MONTH(start) = ? AND YEAR(end) = ?)
ORDER BY start
与此查询的问题是,它只是检查之间并不是个月开始月和月末。例如,如果预约时间超过5个月,则此查询失败。
如何将日期转换为YYYYMM?也许在像'DATE_FORMAT(start,'YYYYMM')AS start2'这样的查询中?但这不起作用。 – Bernd
@Bernd。 。 。算术就是这样。 。 。乘以年份100乘以月份。你也可以使用'date_format()',因为这对字符串和数字都有效。 –