MySQLdate格式DD / MM / YYYYselect查询?
我有点困惑如何按date格式sorting。
对于格式YYYY-MM-DD
您可以这样做: ...ORDER BY date DESC...
您如何以DD/MM/YYYY
订购?
这不工作:
SELECT * FROM $table ORDER BY DATE_FORMAT(Date, '%Y%m%d') DESC LIMIT 14
您可以使用STR_TO_DATE()
将您的string转换为MySQLdate值和ORDER BY
结果:
ORDER BY STR_TO_DATE(datestring, '%d/%m/%Y')
但是,将列转换为DATE
数据types,而不是使用string是明智的。
猜测你可能只想格式化输出date? 那么这就是你以后的样子
SELECT *, DATE_FORMAT(date,'%d/%m/%Y') AS niceDate FROM table ORDER BY date DESC LIMIT 0,14
或者你真的想按年前的月份sorting吗?
SELECT DATE_FORMAT(somedate, "%d/%m/%Y") AS formatted_date .......... ORDER BY formatted_date DESC
使用:
SELECT DATE_FORMAT(NAME_COLUMN, "%d/%l/%Y") AS 'NAME' SELECT DATE_FORMAT(NAME_COLUMN, "%d/%l/%Y %H:%i:%s") AS 'NAME'
参考: https : //dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html
ORDER BYdatetypes不依赖于date格式,date格式仅用于显示数据库中的相同数据。
对于我的情况,这工作
str_to_date(date, '%e/%m/%Y' )
在使用代码点火器的MySQL中格式化date
$from=$_POST['from']; $to=$_POST['to']; $table='Your table'; $alias="count(userid)"; $groupby="date_format(yourdate,('%Y-%m'))"; $orderby=array('mostdrill'=>'DESC'); $where="yourdate between '".date('Ym-d',strtotime($from))."' and '".date('Ym-d',strtotime($to))."'"; $userdata=$this->yourmodel->function name($alias,$table,$where,'',$orderby,"",$groupby);
希望这有助于了解更多点击这里
如果时间很重要,我使用str_to_date(date, '%d/%m/%Y %T' )
, %T
以hh:mm:ss
格式显示小时。
猜测你可能只想格式化输出date? 那么这就是你以后的样子
SELECT *, DATE_FORMAT(date,'%d/%m/%Y') AS niceDate FROM table ORDER BY date DESC LIMIT 0,14
或者你真的想按年前的月份sorting吗?