Estoy un poco confundido sobre cómo ordenar por formatos de fecha.
Para el formato YYYY-MM-DD
, debe hacer esto: ...ORDER BY date DESC...
¿Cómo ordenarías por DD/MM/YYYY
?
Esto no está funcionando:
SELECT * FROM $table ORDER BY DATE_FORMAT(Date, '%Y%m%d') DESC LIMIT 14
Puede usar STR_TO_DATE()
para convertir sus cadenas a los valores de fecha de MySQL y ORDER BY
el resultado:
ORDER BY STR_TO_DATE(datestring, '%d/%m/%Y')
Sin embargo, sería aconsejable convertir la columna al tipo de datos DATE
lugar de usar cadenas.
Supongo que probablemente solo quiera formatear la fecha de salida? entonces esto es lo que buscas
SELECT *, DATE_FORMAT(date,'%d/%m/%Y') AS niceDate FROM table ORDER BY date DESC LIMIT 0,14
¿O realmente desea ordenar por día antes del mes anterior al año?
SELECT DATE_FORMAT(somedate, "%d/%m/%Y") AS formatted_date .......... ORDER BY formatted_date DESC
Utilizar:
SELECT DATE_FORMAT(NAME_COLUMN, "%d/%l/%Y") AS 'NAME' SELECT DATE_FORMAT(NAME_COLUMN, "%d/%l/%Y %H:%i:%s") AS 'NAME'
Referencia: https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html
Supongo que probablemente solo quiera formatear la fecha de salida? entonces esto es lo que buscas
SELECT *, DATE_FORMAT(date,'%d/%m/%Y') AS niceDate FROM table ORDER BY date DESC LIMIT 0,14
¿O realmente desea ordenar por día antes del mes anterior al año?
ORDER BY un tipo de fecha no depende del formato de fecha, el formato de fecha es solo para mostrar, en la base de datos, son los mismos datos.
para mi caso, esto funcionó
str_to_date(date, '%e/%m/%Y' )
Si la hora es importante, utilicé str_to_date(date, '%d/%m/%Y %T' )
, el %T
muestra la hora en el formato hh:mm:ss
.
Da formato a la fecha en mysql usando el código de encendido
$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);
Espero que sea útil saber más haga clic aquí