我有一个表是这样的:mysql在哪里按日期返回不正确的结果?
match_name match_formatted_date
A vs B 28.10.2014
b vs c 26.10.2014
c vs d 18.10.2014
d vs e 30.09.2014
e vs f 27.09.2014
g vs h 19.09.2014
h vs j 28.08.2014
x vs y 26.08.2014
y vs z 07.08.2014
的mysql:
SELECT `m`.* FROM `match` `m`
WHERE (m.match_formatted_date BETWEEN "24.10.2014" AND "31.10.2014")
ORDER BY `m`.`match_id` DESC
但MySQL的返回值是这样的:
A vs B 28.10.2014
b vs c 26.10.2014
d vs e 30.09.2014
e vs f 27.09.2014
h vs j 28.08.2014
x vs y 26.08.2014
我只希望得到这样的:
A vs B 28.10.2014
b vs c 26.10.2014
注意:match_formatted_date是varchar,而不是datetime。无论是否有问题?
转换/施放'match_formatted_date'到日期和使用适当的日期符号的范围界限。 – 2014-10-31 04:01:47
“注意:match_formatted_date是varchar,而不是日期时间,不管它是否是问题?”,是的......这将是一个问题。 – Mitch 2014-10-31 04:01:54
或者如果您不想将日期存储在相应的字段类型中,请以YYYY-MM-DD格式(或使用点代替破折号)保留日期。这将允许进行字符串比较。 – Cheery 2014-10-31 04:11:44