Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 日期格式冲突_Php_Database_Date - Fatal编程技术网

Php 日期格式冲突

Php 日期格式冲突,php,database,date,Php,Database,Date,我的表中有一个字段“joindate”。它由混合格式的数据组成。(2015年1月14日和2015年1月14日)。我想按日期的顺序从该表中获取数据。我该怎么做?joindate的类型是varchar。 我试过以下方法 通过使用str_to_date将该字符串转换为日期。但它仍然不起作用 select * from employee where employeeid='14' order by str_to_date(joindate,'%d.%m.%Y') desc; 尝试使用date\

我的表中有一个字段“joindate”。它由混合格式的数据组成。(2015年1月14日和2015年1月14日)。我想按日期的顺序从该表中获取数据。我该怎么做?joindate的类型是varchar。 我试过以下方法

通过使用str_to_date将该字符串转换为日期。但它仍然不起作用

    select * from employee where employeeid='14' order by str_to_date(joindate,'%d.%m.%Y') desc;

尝试使用
date\u格式
它对我有用

 select * from employee where employeeid='14' order by date_format(str_to_date(joindate,'%d-%m-%Y'), '%d.%m.%Y') desc;
如果joindates在数据库中,那么您可以使用

SELECT * FROM employee WHERE employeeid = '14' ORDER BY joindate DESC

这是另一个问题,或者您应该去掉这些百分比字符?

您可以尝试以下查询:

select*from employeeid='14'的员工,按if(strcmp(str_to_date(datejoin,'%d.%m.%Y'),datejoin),datejoin,date_格式(str_to_date(datejoin,'%d.%m.%Y'),'%d.%m.%Y'))描述;

在此发布您的查询,但也有其他格式,请选择DATE_格式(日期,%m-%d-%Y')作为employeeid='14'按日期说明订购的员工的日期;我试过使用date_格式。但是没有用:作为一种最佳实践,总是将日期保存为一种格式。据我所知,MySQL使用
-
表示格式为
YYYY-mm-dd
的日期,它仍然提供混合日期的输出,而不是按描述顺序。如果可能,您可以共享输出