您好我都存儲在MySQL表以下值:發現如果一個日期使用的日期範圍的MySQL
--- ------------------------ -------------------
Id | StartDate (VARCHAR (20)) | EndDate(VARCHAR(20))
--- ------------------------ -------------------
1 | 03-04-2017 | 18-04-2017
我使用下面的SQL以發現日期爲起始日期和結束日期內:
SELECT
(date_format(str_to_date('03-04-2017','%d-%m-%Y'),'%d-%m-%Y') >= StartDate
AND
date_format(str_to_date('03-04-2017','%d-%m-%Y'),'%d-%m-%Y') <= EndDate) AS
valid
FROM holiday
我的問題是,當我執行查詢並提供03-04-2017它返回1,但也返回1當我提供03-05-2017。
有人可以請突出顯示這個查詢中有什麼問題嗎?
什麼數據類型有字段? VARCHAR還是DATE? –
@BerndBuffen謝謝他們都varchar和不幸的是我不能改變架構。 – snowflakes74
你需要將字符串轉換爲日期 –