Formato data MySQL GG / MM / AAAA selezionare query?


140

Sono un po 'confuso su come ordinare per formato data.

Per il formato YYYY-MM-DDdevi fare questo:...ORDER BY date DESC...

Come vorresti ordinare per DD/MM/YYYY?

Questo non funziona:

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

Risposte:


152

È possibile utilizzare STR_TO_DATE()per convertire le stringhe in valori di data MySQL e ORDER BYil risultato:

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

Tuttavia, sarebbe consigliabile convertire la colonna nel DATEtipo di dati anziché utilizzare le stringhe.


188

Indovinando probabilmente vuoi solo formattare la data di uscita? allora questo è ciò che stai cercando

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

O vuoi davvero ordinare per giorno prima del mese prima dell'anno?


1
Vorrei le ultime 14 date / registrazioni :) Il formato nel database è "GG / MM / AAAA" però!
K - La tossicità in SO sta crescendo.

La data nel database è un tipo di data effettiva o è un tipo di stringa?
trapper

2
mysql> DESCRIBE Table;e incolla l'output
trapper

DATE_FORMAT (data, '% a') fornirà l'abbreviazione di un giorno della settimana. L'ho usato per creare alcuni grafici a scatole e simili in RStudio.
user208145



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

O

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

L'USCITA è il 10/05/2019 alle 19:30



4

Se l'ora è importante, ho usato str_to_date(date, '%d/%m/%Y %T' ), %Tmostra l'ora nel formato hh:mm:ss.


Non è indicato come ora. %Tmostra il valore con il formato dell'ora. A proposito, hai ottenuto il mio voto.
Wolverine,

3

ORDINA PER un tipo di data non dipende dal formato della data, il formato della data serve solo a mostrare, nel database, gli stessi dati.


Il formato può essere usato per ordinare (se qualcuno lo vuole davvero, mi sembra strano), ma tale ordinamento non può essere basato sull'indice, quindi [b] è costoso [/ b], Solo l'ordinamento su colonne ben progettate può essere eseguito con index ( veloce) e ottimizzato dal server
Jacek Cz
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.