MySQL-datumnotatie DD/MM/JJJJ zoekopdracht selecteren?

Ik ben een beetje in de war over het bestellen op datumnotatie.

Voor het formaat YYYY-MM-DDdoet u dit: ...ORDER BY date DESC...

Hoe zou je bestellen voor DD/MM/YYYY?

Dit werkt niet:

SELECT * FROM $table ORDER BY DATE_FORMAT(Date, '%Y%m%d') DESC LIMIT 14

Antwoord 1, autoriteit 100%

U kunt STR_TO_DATE()om uw strings om te zetten naar MySQL-datumwaarden en ORDER BYhet resultaat:

ORDER BY STR_TO_DATE(datestring, '%d/%m/%Y')

Het is echter verstandig om de kolom te converteren naar het gegevenstype DATEin plaats van tekenreeksen te gebruiken.


Antwoord 2, autoriteit 93%

Denk je dat je waarschijnlijk alleen de uitvoerdatum wilt formatteren? dan is dit wat je zoekt

SELECT *, DATE_FORMAT(date,'%d/%m/%Y') AS niceDate 
FROM table 
ORDER BY date DESC 
LIMIT 0,14

Of wil je eigenlijk sorteren op Dag voor Maand voor Jaar?


Antwoord 3, autoriteit 26%

SELECT DATE_FORMAT(somedate, "%d/%m/%Y") AS formatted_date
..........
ORDER BY formatted_date DESC

Antwoord 4, autoriteit 23%

Gebruik:

SELECT DATE_FORMAT(NAME_COLUMN, "%d/%l/%Y") AS 'NAME'
SELECT DATE_FORMAT(NAME_COLUMN, "%d/%l/%Y %H:%i:%s") AS 'NAME'

Referentie: https://dev. mysql.com/doc/refman/5.7/en/date-and-time-functions.html


Antwoord 5, autoriteit 11%

SELECT DATE_FORMAT(COLUMN_NAME, "%d/%m/%Y %h:%i %p");

OF

SELECT DATE_FORMAT("2019-05-10 19:30:10", "%d/%m/%Y %h:%i %p");

OUTPUT is 05-10-2019 19:30 uur


Antwoord 6, autoriteit 4%

in mijn geval werkte dit

str_to_date(date, '%e/%m/%Y' )

Antwoord 7, autoriteit 4%

Als het uur belangrijk is, heb ik str_to_date(date, '%d/%m/%Y %T' )gebruikt, de %Ttoont het uur in het formaat hh:mm:ss.


Antwoord 8, autoriteit 2%

ORDER OP een datumtype is niet afhankelijk van het datumformaat, het datumformaat is alleen om in de database te laten zien dat het dezelfde gegevens zijn.

Other episodes