在MySQL中转换日期

时间:2018-09-17 13:34:07

标签: mysql date

我在MySQL数据库中有一列,其日期格式为:

Tue Oct 25 2016。我正在尝试以10/25/2016的形式获取它。

我做了一些研究并尝试过:

SELECT DATE_FORMAT(Date, '%d/%m/%Y') FROM table;

但是它返回null

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:9)

首先,您需要使用MySQL date函数将日期字符串转换为STR_TO_DATE格式('YYYY-MM-DD')。要从字符串转换,我们必须指定日期字符串的当前格式。您的情况是'%a %b %d %Y'。请注意,%字符是格式说明符之前的必需字符。

详细信息:

  • %a缩写的工作日名称(星期日至星期六)
  • %b月份的缩写(1月至12月)
  • %d每月的某天,以数值(01到31)
  • %Y年,为4位数字

现在,您可以使用DATE_FORMAT函数将MySQL日期转换为所需的日期字符串格式。在您的情况下,它将是:'%m /%d /%Y'

详细信息:

  • %d每月的某天,以数值(01到31)
  • %m月名称作为数字值(00到12)
  • %Y年,为4位数字

尝试以下查询:

SELECT DATE_FORMAT(STR_TO_DATE(Date, '%a %b %d %Y'), '%m/%d/%Y') 
FROM table;

可用格式说明符的完整列表可以在以下位置查看:https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_date-format