我想显示两个范围之间的行。这两个范围将是日期。一列存储的日期在“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'数据类型? –
我被赋予了这个结构。如果我改变它,一些报告将会中断。 –