我在MySQL数据库中有一列,其日期格式为:
Tue Oct 25 2016
。我正在尝试以10/25/2016
的形式获取它。
我做了一些研究并尝试过:
SELECT DATE_FORMAT(Date, '%d/%m/%Y') FROM table;
但是它返回null
任何帮助将不胜感激。
答案 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