您的格式根本不是什么排序一个开始-你是比较 字符串 ,字符串“28-10-2012” 是 不是“2012年2月11日”更大。
相反,您应该将日期 作为date 进行比较,然后仅将其转换为目标格式以进行输出。
尝试这个:
select date_format(date(starttime),'%d-%m-%Y') from datawhere date(starttime) >= date '2012-11-02';
(根据文档,输入必须始终为年-月-值格式。)
请注意,如果
starttime是
DATETIME字段,则可能要考虑更改查询以避免重复转换。(优化器可能很聪明,可以避免它,但是值得检查。)
select date_format(date(starttime),'%d-%m-%Y') from datawhere starttime >= '2012-11-02 00:00:00';
(请注意,格式化日期
d-m-Y开头是不寻常的-通常最好使用
y-M-dISO-8601标准等格式。但是,上面的代码可以完成您在问题中所要求的工作。)



