Bagaimana untuk Mengendalikan Pesanan Tarikh untuk Format Tertentu dalam MySQL?
Apabila ia datang untuk memesan tarikh dalam MySQL, pendekatan biasa adalah dengan gunakan pengubah suai DESC untuk format seperti YYYY-MM-DD. Walau bagaimanapun, kekeliruan timbul apabila berurusan dengan format tarikh yang berbeza, seperti DD/MM/YYYY.
Dalam kes khusus pesanan tarikh dalam format DD/MM/YYYY, pertanyaan yang diberikan tidak berfungsi seperti yang diharapkan. Pertanyaan cuba menggunakan fungsi DATE_FORMAT terus ke ungkapan DATE_FORMAT(Tarikh, '%Y%m%d'), yang tidak sejajar dengan hasil yang diingini.
Untuk menyelesaikan isu ini, anda mempunyai dua pilihan utama:
Memformat Tarikh Keluaran Sahaja: Jika matlamatnya adalah semata-mata untuk memaparkan tarikh dalam format DD/MM/YYYY tanpa mengubah nilai tarikh sebenar, anda boleh menggunakan pertanyaan berikut:
SELECT *, DATE_FORMAT(date,'%d/%m/%Y') AS niceDate FROM table ORDER BY date DESC LIMIT 0,14
Dalam pertanyaan ini, fungsi DATE_FORMAT digunakan pada lajur tarikh dengan Format '%d/%m/%Y' semasa proses mendapatkan data. Hasilnya akan memaparkan tarikh dalam format yang diingini sambil membiarkan nilai tarikh asas tidak berubah.
Isih Sebenar mengikut Hari, Bulan dan Tahun: Jika anda benar-benar mahu untuk memesan keputusan mengikut hari, kemudian bulan, dan akhirnya tahun, seperti yang dicadangkan oleh DD/MM/YYYY, anda perlu menggunakan fungsi perbandingan tersuai. Fungsi ini akan mengekstrak komponen individu tarikh dan melakukan perbandingan leksikografik. Berikut ialah contoh pertanyaan yang melaksanakan pendekatan ini:
SELECT * FROM table ORDER BY FORMAT_DAYOFMONTH(Date), FORMAT_MONTH(Date), FORMAT_YEAR(Date) DESC LIMIT 14
Atas ialah kandungan terperinci Bagaimana untuk Memesan Tarikh dengan Betul dalam Format DD/MM/YYYY dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!