我的表格中的日期格式与Wednesday 17th May 2017
和Saturday 27th May 2017
的格式相同,我希望将其转换为类似17/05/2017
和27/05/2017
以及ORDER BY {{1 }}
我尝试过很多不同的方式,并且花了很多时间做了很多研究,但没有运气。
MyDate
如果有人可以请求帮助,我会非常感激。
答案 0 :(得分:1)
将字符串转换为日期时间值时,您需要使用正确的格式
SELECT *,
-- convert to datetime and then format accordingly
DATE_FORMAT(STR_TO_DATE(mydate, '%W %D %M %Y'), '%m/%d/%Y') formatted_date
FROM table1
-- convert to datetime
ORDER BY STR_TO_DATE(mydate, '%W %D %M %Y');
示例输出:
+------+-------------------------+----------------+ | id | mydate | formatted_date | +------+-------------------------+----------------+ | 2 | Wednesday 17th May 2017 | 05/17/2017 | | 1 | Saturday 27th May 2017 | 05/27/2017 | +------+-------------------------+----------------+
这是dbfidlle演示