格式日期为2017年5月17日星期三至2017年5月17日格式的SQL格式

时间:2017-06-02 02:45:11

标签: mysql sql date

我的表格中的日期格式与Wednesday 17th May 2017Saturday 27th May 2017的格式相同,我希望将其转换为类似17/05/201727/05/2017以及ORDER BY {{1 }}

我尝试过很多不同的方式,并且花了很多时间做了很多研究,但没有运气。

MyDate

如果有人可以请求帮助,我会非常感激。

1 个答案:

答案 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');
  • %W - 工作日名称(星期日......星期六)
  • %D - 英文后缀(0日,1日,2日,3日......)的月份日期
  • %M - 月份名称(1月〜12月)
  • %Y - 年份,数字,四位数

示例输出:

+------+-------------------------+----------------+
| id   | mydate                  | formatted_date |
+------+-------------------------+----------------+
|    2 | Wednesday 17th May 2017 | 05/17/2017     |
|    1 | Saturday 27th May 2017  | 05/27/2017     |
+------+-------------------------+----------------+

这是dbfidlle演示