MySQL:在字符串中转换日期格式

MySQL:在字符串中转换日期格式,mysql,date,Mysql,Date,我有一个存储在数据库中的文件路径和日期列表: path | date _____________________________|___________ C:\folder\file1 %Y-%m-%d.csv | 2016-09-14 C:\folder\file2_%M %d %Y.csv | 2016-09-13 C:\folder\file3 %y%m%d.csv | 2016-08-31 文件路径中的日期符合STR_to_DAT

我有一个存储在数据库中的文件路径和日期列表:

               path          |   date
_____________________________|___________
C:\folder\file1 %Y-%m-%d.csv | 2016-09-14
C:\folder\file2_%M %d %Y.csv | 2016-09-13
C:\folder\file3 %y%m%d.csv   | 2016-08-31
文件路径中的日期符合
STR_to_DATE
格式约定。 日期每天都会改变。 我需要编写一个SELECT查询,该查询将返回:

               result 
_________________________________
C:\folder\file1 2016-09-14.csv 
C:\folder\file2_Sep 14 2016.csv 
C:\folder\file3 160831.csv   
我不想以编写一个永无止境的
REPLACE
查询来结束所有可能的场景:

REPLACE(... REPLACE(REPLACE(path,'%Y',YEAR(date)),'%d',DAY(date))...)
有没有办法通过MySQL内置函数来实现这一点?

这里是您想要的。它应该将识别的格式字符串替换为它们的值,并忽略所有其他内容

SELECT DATE_FORMAT(date, path) AS result;
注:
%M
将给出完整月份(“九月”),对于缩写月份(“九月”),使用
%b

演示:

您想要在这里观看。它应该将识别的格式字符串替换为它们的值,并忽略所有其他内容

SELECT DATE_FORMAT(date, path) AS result;
注:
%M
将给出完整月份(“九月”),对于缩写月份(“九月”),使用
%b

演示: