Php 使用order BY时如何按顺序显示sql日期?

Php 使用order BY时如何按顺序显示sql日期?,php,sql,Php,Sql,我试图按从最小到最大的顺序显示以下日期 它们是这样储存的 02-12-15 02-11-13 12-20-12 12-12-12 05-12-17 这是我使用的以下代码 "SELECT ledate FROM `points_bar` WHERE student_id = '$studentID' ORDER BY ledate ASC"; 这就是我想把它转换成的 02-11-13 12-20-12 12-12-12 02-12-15 05-12-17 有人能给我指出一个可能的解决方案或

我试图按从最小到最大的顺序显示以下日期

它们是这样储存的

02-12-15
02-11-13
12-20-12
12-12-12
05-12-17
这是我使用的以下代码

"SELECT ledate FROM `points_bar` WHERE student_id = '$studentID' ORDER BY ledate ASC"; 
这就是我想把它转换成的

02-11-13
12-20-12
12-12-12
02-12-15
05-12-17

有人能给我指出一个可能的解决方案或给我一点推动吗?

请把ledate选为date

 SELECT ledate FROM `points_bar` 
 WHERE student_id = '$studentID' 
 ORDER BY cast(ledate as date) ASC

刚投了一个日期

 SELECT ledate FROM `points_bar` 
 WHERE student_id = '$studentID' 
 ORDER BY cast(ledate as date) ASC

您的日期不是mysql支持的日期格式。它被视为varchar。按如下方式更改SQL应该可以工作

"SELECT ledate FROM `points_bar` WHERE student_id = '$studentID' ORDER BY STR_TO_DATE(`ledate`, '%m-%d-%y') ASC";

请参见

您的日期不是mysql支持的日期格式。它被视为varchar。按如下方式更改SQL应该可以工作

"SELECT ledate FROM `points_bar` WHERE student_id = '$studentID' ORDER BY STR_TO_DATE(`ledate`, '%m-%d-%y') ASC";

请参见。。。你能给我们看一下php代码吗?试试这个
SELECT-ledate FROM
points\u bar`WHERE student\u id='$studentID'ORDER BY UNIX\u TIMESTAMP(
ledate
)`不知道为什么会有一个php标记,因为它严格来说是一个SQL排序问题-如果你想在从数据库返回后用php排序,那就不同了。为了更好地帮助获得答案,您能告诉我们
ledate列是什么数据类型吗?它是
varchar
还是正确的
date
类型?另外,如果您告诉我们您正在运行的是什么SQL引擎(SQL Server?MySQL?),那也会很有帮助。哦,很抱歉,请尽快回复。我能够用chayan提供的答案解决问题。请。。。你能给我们看一下php代码吗?试试这个
SELECT-ledate FROM
points\u bar`WHERE student\u id='$studentID'ORDER BY UNIX\u TIMESTAMP(
ledate
)`不知道为什么会有一个php标记,因为它严格来说是一个SQL排序问题-如果你想在从数据库返回后用php排序,那就不同了。为了更好地帮助获得答案,您能告诉我们
ledate列是什么数据类型吗?它是
varchar
还是正确的
date
类型?另外,如果您告诉我们您正在运行的是什么SQL引擎(SQL Server?MySQL?),那也会很有帮助。哦,很抱歉,请尽快回复。我能够用chayan提供的答案解决这个问题。