我不可避免地会以英国日期格式存储日期,例如:

31/12/2001  00:00:00


我需要按降序排列,我已经尝试过了但是它出错

select *, DATE_FORMAT(completiondate,'\%e/%c/%Y\') as cdate
from projects
where countries = 1
order by cdate desc


错误:


  检查与您的MySQL服务器版本相对应的手册
  在cdate desc'附近使用''顺序的正确语法


我正在使用MySQL 4.1.9

最佳答案

您不必要地转义了%字符。但是实际的问题是您的查询中包含未终止的字符串文字:

-- this does not terminate the string ----------v
select *, DATE_FORMAT(completiondate,'\%e/%c/%Y\') as cdate
from projects
where countries = 1
order by cdate desc


改成:

SELECT *, DATE_FORMAT(completiondate,'%e/%c/%Y') AS cdate
FROM projects
WHERE countries = 1
ORDER BY cdate DESC

关于mysql - MySQL排序日期格式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10797102/

10-12 16:26