在MySQL中转换日期

mil*_*ley 5 mysql date

我在MySQL数据库中有一个列,其中包含以下格式的日期:

Tue Oct 25 2016.我试图在表格中得到它10/25/2016.

我做了一些研究并尝试了这个:

SELECT DATE_FORMAT(Date, '%d/%m/%Y') FROM table;
Run Code Online (Sandbox Code Playgroud)

但它返回null

任何帮助将不胜感激.

Mad*_*iya 10

首先,您需要使用STR_TO_DATE函数将日期字符串转换为MySQL日期格式('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;
Run Code Online (Sandbox Code Playgroud)

有关可用格式说明符的完整列表,请参见:https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_date-format