MySQL tarih formatı GG / AA / YYYY sorgu seç?


141

Tarih formatlarına göre nasıl sipariş vereceğim konusunda biraz kafam karıştı.

Biçim YYYY-MM-DDiçin bunu yaparsınız:...ORDER BY date DESC...

Nasıl sipariş verirsiniz DD/MM/YYYY?

Bu çalışmıyor:

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

Yanıtlar:


153

STR_TO_DATE()Dizelerinizi MySQL tarih değerlerine ve ORDER BYsonuca dönüştürmek için kullanabilirsiniz :

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

Ancak, sütunu DATEdize kullanmak yerine veri türüne dönüştürmek akıllıca olur .


189

Muhtemelen çıktı tarihini biçimlendirmek mi istiyorsunuz? o zaman peşinde olduğun şey bu

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

Yoksa Yıldan Aydan Önceki Gün'e göre sıralamak ister misiniz?


1
Ben 14 son tarih / kayıtları istiyorum :) Veritabanındaki biçim "GG / AA / YYYY" olsa!
K - SO'da toksisite artıyor.

Veritabanındaki tarih gerçek bir tarih türü mü yoksa dize türü mü?
tuzakçı

2
mysql> DESCRIBE Table;ve çıktı yapıştırın
tuzakçı

DATE_FORMAT (tarih, '% a') haftanın bir gününün kısaltmasını verecektir. Bunu RStudio'da bazı kutu grafikleri yapmak için kullandım.
user208145



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

VEYA

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

ÇIKTI 10/05/2019 07:30 PM



4

Saat önemliyse, kullandım str_to_date(date, '%d/%m/%Y %T' ), %Tsaati formatta gösterir hh:mm:ss.


Saat olarak anılmıyor. %Tzaman biçimindeki değeri gösterir. Bu arada, benim oyumu aldın.
Wolverine

3

ORDER BY bir tarih türü tarih biçimine bağlı değildir, tarih biçimi yalnızca veritabanında aynı veriler olduğunu göstermek içindir.


Biçim sıralamak için kullanılabilir (eğer birisi gerçekten istiyorsa, benim için garip görünüyor), ancak bu tür sıralama endekse dayanamaz, bu nedenle [b] maliyetli [/ b], Yalnızca iyi tasarlanmış sütunlar üzerinde sıralama endeksle yürütülebilir ( hızlı) ve sunucu tarafından optimize edildi
Jacek Cz
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.