Mysql Date Format Dd/Mm/Yyyy Select Query?
I'm a Bit Confused on How to Order by Date Formats. for the Format Yyyy-Mm-Dd You Would Do This: .. .Order by Date Desc. .. How Would You Order by Dd/Mm/Yyyy?...
I'm a bit confused on how to order by date formats.
For the format YYYY-MM-DD you would do this: ...ORDER BY date DESC...
How would you order by DD/MM/YYYY?
This isn't working:
SELECT * FROM $table ORDER BY DATE_FORMAT(Date, '%Y%m%d') DESC LIMIT 14
Guessing you probably just want to format the output date? then this is what you are after
SELECT *, DATE_FORMAT(date,'%d/%m/%Y') AS niceDate
FROM table
ORDER BY date DESC
LIMIT 0,14
Or do you actually want to sort by Day before Month before Year?
You can use STR_TO_DATE() to convert your strings to MySQL date values and ORDER BY the result:
ORDER BY STR_TO_DATE(datestring, '%d/%m/%Y')
However, you would be wise to convert the column to the DATE data type instead of using strings.
SELECT DATE_FORMAT(somedate, "%d/%m/%Y") AS formatted_date
..........
ORDER BY formatted_date DESC
Use:
SELECT DATE_FORMAT(NAME_COLUMN, "%d/%l/%Y") AS 'NAME'
SELECT DATE_FORMAT(NAME_COLUMN, "%d/%l/%Y %H:%i:%s") AS 'NAME'
Reference:
SELECT DATE_FORMAT(COLUMN_NAME, "%d/%m/%Y %h:%i %p");
OR
SELECT DATE_FORMAT("2019-05-10 19:30:10", "%d/%m/%Y %h:%i %p");
OUTPUT is 10/05/2019 07:30 PM
for my case this worked
str_to_date(date, '%e/%m/%Y' )
If the hour is important, I used str_to_date(date, '%d/%m/%Y %T' ), the %T shows the hour in the format hh:mm:ss.
ORDER BY a date type does not depend on the date format, the date format is only for showing, in the database, they are same data.