我想顯示兩個範圍之間的行。這兩個範圍將是日期。一列存儲的日期在「2017年8月10日/上午05點」 格式的字符串爲了我使用下面的查詢來比較值:MySQL:無法正確比較字符串值作爲日期
SELECT * FROM `Game` WHERE (Home_School_Name = 'Paarl Boys' OR Away_School_Name = 'Paarl Boys') && Status = 'NOT STARTED' && STR_TO_DATE(LEFT(Start_Time,LOCATE(' ',Start_Time)),'%m-%d-%Y') BETWEEN '2017-8-10' AND '2017-15-10'
現在有兩場比賽應該返回結果。 8-10-2017,9-10-2017。當我發送範圍爲2017-1-10和2017-8-10時,它顯示第一個遊戲。當我嘗試2017-8-10和2017-8-12。它顯示兩個遊戲。但是當我超過12時,它停止返回它們兩個。 我知道我傳遞的日期格式有問題。但我一直無法弄清楚。我也看到了類似的問題,但他們都沒有爲我工作。
任何幫助表示讚賞。
你爲什麼不只是使用'DATE'或'DATETIME'數據類型? –
我被賦予了這個結構。如果我改變它,一些報告將會中斷。 –