Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

เปลี่ยนรูปแบบวันที่ใน MySQL SELECT ด้วย DATE_FORMAT

ใช้ฟังก์ชัน DATE_FORMAT() เพื่อเปลี่ยนรูปแบบการแสดงผลวันที่/เวลาในคำสั่ง SELECT

รูปแบบคำสั่ง

SELECT DATE_FORMAT(yourColumnName, '%d/%m/%Y %H:%i') AS formatted_date FROM yourTableName;

ตัวอย่าง

1. สร้างตารางและข้อมูล

mysql> create table bestDateFormatDemo (
    -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> ArrivalDateTime datetime
    -> );

mysql> insert into bestDateFormatDemo(ArrivalDateTime) values
    -> (NOW()), (DATE_ADD(NOW(), INTERVAL -2 YEAR)), 
    -> ('2014-01-31 13:45:56'), ('2016-02-11 12:40:30'), ('2018-12-31 12:59:59');

2. รูปแบบ 24 ชั่วโมง (%H)

mysql> SELECT DATE_FORMAT(ArrivalDateTime, '%d/%m/%Y %H:%i') AS changeDateFormat 
    -> FROM bestDateFormatDemo WHERE Id IN(1,2,3,4,5);
+------------------+
| changeDateFormat |
+------------------+
| 22/02/2019 22:50 |
| 22/02/2017 22:50 |
| 31/01/2014 13:45 |
| 11/02/2016 12:40 |
| 31/12/2018 12:59 |
+------------------+

3. รูปแบบ 12 ชั่วโมง (%h) พร้อม AM/PM

mysql> SELECT DATE_FORMAT(ArrivalDateTime, '%d/%m/%Y %h:%i %p') AS changeDateFormat 
    -> FROM bestDateFormatDemo WHERE Id IN(1,2,3,4,5);
+---------------------+
| changeDateFormat    |
+---------------------+
| 22/02/2019 10:50 PM |
| 22/02/2017 10:50 PM |
| 31/01/2014 01:45 PM |
| 11/02/2016 12:40 PM |
| 31/12/2018 12:59 PM |
+---------------------+

Format Specifiers ที่ใช้บ่อย

Specifierความหมายตัวอย่าง
%Yปี 4 หลัก2024
%yปี 2 หลัก24
%mเดือน (01-12)02
%cเดือน (1-12)2
%dวัน (01-31)18
%eวัน (1-31)18
%Hชั่วโมง 24 ชม. (00-23)14
%hชั่วโมง 12 ชม. (01-12)02
%iนาที (00-59)30
%sวินาที (00-59)45
%pAM/PMPM
%Wชื่อวันเต็มSunday
%aชื่อวันย่อSun
%Mชื่อเดือนเต็มFebruary
%bชื่อเดือนย่อFeb

รูปแบบไทยที่นิยม

  • %d/%m/%Y %H:%i → 18/02/2024 14:30
  • %d %M %Y → 18 February 2024
  • %W, %d %M %Y → Sunday, 18 February 2024
  • %Y-%m-%d → 2024-02-18 (ISO 8601)