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提供的答案解决这个问题。