Php MySQL日期转换(“;01/Jan/2015”;到“;01012015”;)

Php MySQL日期转换(“;01/Jan/2015”;到“;01012015”;),php,mysql,date,Php,Mysql,Date,我在MySQL date(varchar)列中有日期格式:“01/Jan/2015”。我想把它转换成“01012015”格式 在MySQL日期格式中可以这样做吗?MySQL以“YYYY-MM-DD”格式检索并显示日期值。您应该使用应用程序层重新格式化为所需的格式。如果您使用的是PHP,则可以使用date()函数来执行此操作是的,您需要使用str\u to\u date函数 select str_to_date("01/Jan/2015","%d/%b/%Y"); 这将把您的varchar日期转

我在MySQL date(varchar)列中有日期格式:“01/Jan/2015”。我想把它转换成“01012015”格式


在MySQL日期格式中可以这样做吗?

MySQL以“YYYY-MM-DD”格式检索并显示日期值。您应该使用应用程序层重新格式化为所需的格式。如果您使用的是PHP,则可以使用date()函数来执行此操作

是的,您需要使用
str\u to\u date
函数

select str_to_date("01/Jan/2015","%d/%b/%Y");
这将把您的varchar日期转换为实际日期,在此基础上,您需要应用
date\u格式
函数

select date_format(str_to_date("01/Jan/2015","%d/%b/%Y"),"%m%d%Y");


mysql> select date_format(str_to_date("01/Jan/2015","%d/%b/%Y"),"%m%d%Y") as date;
+----------+
| date     |
+----------+
| 01012015 |
+----------+
1 row in set (0.00 sec)
您只需将上述查询中的硬编码日期替换为以下列名

select date_format(str_to_date(CDATE,"%d/%b/%Y"),"%m%d%Y");
这可以帮助你

strtotime($date); 
您想将“01/Jan/2015”转换为“01012015”:


请注意,在
STR_TO_DATE
中,您使用
%b
表示三个字母的月份,但在
DATE\u格式中,您使用%m表示两位数的月份。

如果使用mysql,这应该是需要查看的问题:感谢您提供此链接。您能否测试
PHP
函数并在您的答案中显示代码和输出?sry,事实上,其时间功能仅在2015年1月1日工作正常。我想用列名代替2015年1月1日。列名为CDATE。你能帮我吗?更新答案!!是的,所有日期都显示,但不维持秩序。你能在这个链接中看到输出吗?只需在查询结束时添加
orderby(str_to_date(CDATE),%d/%b/%Y),%m%d%Y)
。它会给我
01012015
01022015
01032015
等等。我想首先显示所有一月的日期,如
01012015
02012015
03012015
,然后是二月等等。
SELECT DATE_FORMAT(STR_TO_DATE('01/Jan/2015','%d/%b/%Y'), '%d%m%Y')