รูปแบบวันที่ MySQL แบบสอบถามแบบเลือก DD / MM / YYYY


140

ฉันสับสนเล็กน้อยเกี่ยวกับวิธีสั่งซื้อตามรูปแบบวันที่

สำหรับรูปแบบที่YYYY-MM-DDคุณจะทำ:...ORDER BY date DESC...

วิธีที่คุณจะสั่งซื้อโดยDD/MM/YYYY?

สิ่งนี้ไม่ทำงาน:

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

คำตอบ:


152

คุณสามารถใช้STR_TO_DATE()ในการแปลงสตริงของคุณเป็นค่าวันที่ MySQL และORDER BYผลลัพธ์:

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

อย่างไรก็ตามคุณควรแปลงคอลัมน์ให้เป็นDATEประเภทข้อมูลแทนที่จะใช้สตริง


188

คาดเดาว่าคุณอาจต้องการจัดรูปแบบวันที่ส่งออกหรือไม่ นี่คือสิ่งที่คุณเป็นหลังจากนั้น

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

หรือคุณต้องการเรียงตามวันก่อนเดือนก่อนปีจริง ๆ ?


1
ฉันต้องการ 14 วันที่ล่าสุด / บันทึก :) รูปแบบในฐานข้อมูลคือ "DD / MM / YYYY" แม้ว่า!
K - ความเป็นพิษใน SO กำลังเพิ่มขึ้น

วันที่ในฐานข้อมูลเป็นชนิดวันที่จริงหรือเป็นประเภทสตริงหรือไม่
ดักสัตว์

2
mysql> DESCRIBE Table;และวางผลลัพธ์
ดักสัตว์

DATE_FORMAT (วันที่ '% a') จะให้ตัวย่อของวัน ฉันใช้สิ่งนี้เพื่อสร้างบ็อกซ์พล็อตและใน RStudio
user208145

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

3
มันเป็นแค่ฉันหรือไม่%lได้ผล? มันทำให้ทุกเดือนและผมก็มีการเปลี่ยนแปลงไป12 %m
beroe

1
% l ใช้เวลาหลายชั่วโมงdev.mysql.com/doc/refman/5.5/en/… @beroe


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

หรือ

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

OUTPUT คือ10/05/2019 19:30 น



4

ถ้าชั่วโมงเป็นสิ่งสำคัญที่ผมใช้ในstr_to_date(date, '%d/%m/%Y %T' )การแสดงให้เห็นถึงชั่วโมงในรูปแบบ%Thh:mm:ss


มันไม่ได้เรียกว่าชั่วโมง %Tแสดงค่าด้วยรูปแบบเวลา โดยวิธีการที่คุณมี upvote ของฉัน
Wolverine

3

เรียงตามประเภทวันที่ไม่ได้ขึ้นอยู่กับรูปแบบวันที่รูปแบบวันที่มีไว้สำหรับแสดงในฐานข้อมูลเท่านั้นเป็นข้อมูลเดียวกัน


รูปแบบสามารถใช้ในการจัดเรียง (ถ้ามีคนต้องการจริงๆดูเหมือนว่าแปลกสำหรับฉัน) แต่การเรียงลำดับดังกล่าวไม่สามารถอ้างอิงดัชนีได้ดังนั้น [b] มีค่าใช้จ่ายสูง [/ b] การเรียงลำดับเฉพาะคอลัมน์ที่ออกแบบดีเท่านั้น เร็ว) และปรับให้เหมาะสมโดยเซิร์ฟเวอร์
Jacek Cz
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.