Czy wybrać format daty MySQL DD / MM / RRRR?


139

Jestem trochę zdezorientowany, jak porządkować według formatów daty.

W przypadku formatu YYYY-MM-DDmożesz to zrobić:...ORDER BY date DESC...

Jak zamawiałbyś DD/MM/YYYY?

To nie działa:

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

Odpowiedzi:


152

Możesz użyć, STR_TO_DATE()aby przekonwertować swoje ciągi na wartości dat MySQL i ORDER BYwynik:

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

Jednak rozsądnie byłoby przekonwertować kolumnę na DATEtyp danych zamiast używać ciągów.


188

Zgadujesz, że prawdopodobnie chcesz po prostu sformatować datę wyjściową? to jest to, czego szukasz

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

A może chcesz posortować dane według dnia przed miesiącem przed rokiem?


1
Chciałbym mieć 14 ostatnich dat / rekordów :) Format w bazie danych to „DD / MM / RRRR”!
K - Toksyczność SO rośnie.

Czy data w bazie danych to rzeczywisty typ daty, czy jest to łańcuch?
trapper

2
mysql> DESCRIBE Table;i wklej wynik
trapper

DATE_FORMAT (data, „% a”) podaje skrót dnia tygodnia. Użyłem tego do tworzenia wykresów pudełkowych i tym podobnych w RStudio.
user208145



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

LUB

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

WYJŚCIE to 10/05/2019 19:30



4

Jeśli godzina jest ważna, użyłem str_to_date(date, '%d/%m/%Y %T' ), %Tpokazuje godzinę w formacie hh:mm:ss.


Nie jest to określane jako godzina. %Tpokazuje wartość w formacie czasu. Swoją drogą, dostałeś mój głos za.
Wolverine

3

Sortuj według typu daty nie zależy od formatu daty, format daty służy tylko do pokazania w bazie danych, że są to te same dane.


Format może być użyty do sortowania (jeśli ktoś naprawdę chce, wydaje mi się dziwny), ale takie sortowanie nie może być oparte na indeksie, więc [b] jest kosztowne [/ b], Tylko sortowanie po dobrze zaprojektowanych kolumnach można wykonać za pomocą indeksu ( fast) i zoptymalizowany przez serwer
Jacek Cz
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.