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

MySQL: แสดงชื่อเดือนและปีจากคอลัมน์ DATETIME ด้วย DATE_FORMAT

การแปลง DATETIME ให้แสดงชื่อเดือนและปีด้วย DATE_FORMAT

ใช้ DATE_FORMAT(date, format) กำหนดรูปแบบการแสดงผลวันที่/เวลา %M = ชื่อเดือนเต็ม, %Y = ปี 4 หลัก

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

mysql> create table DemoTable1619 (
    -> ArrivalTime datetime
    -> );
Query OK, 0 rows affected (0.45 sec)

mysql> insert into DemoTable1619 values(now());
mysql> insert into DemoTable1619 values(curdate());
mysql> insert into DemoTable1619 values('2019-12-31');

ข้อมูลในตาราง

+---------------------+
| ArrivalTime         |
+---------------------+
| 2019-10-20 15:02:12 |
| 2019-10-20 00:00:00 |
| 2019-12-31 00:00:00 |
+---------------------+

คำสั่ง DATE_FORMAT

mysql> select date_format(ArrivalTime, '%M %Y') from DemoTable1619;

ผลลัพธ์

+----------------------------------+
| date_format(ArrivalTime, '%M %Y') |
+----------------------------------+
| October 2019                     |
| October 2019                     |
| December 2019                    |
+----------------------------------+

Format Specifiers ที่นิยมใช้

รูปแบบที่นิยมใช้

DATE_FORMAT(date, '%Y-%m-%d')           -- 2019-10-20
DATE_FORMAT(date, '%d/%m/%Y')           -- 20/10/2019
DATE_FORMAT(date, '%M %d, %Y')          -- October 20, 2019
DATE_FORMAT(date, '%W, %M %d, %Y')      -- Sunday, October 20, 2019
DATE_FORMAT(date, '%Y-%m-%d %H:%i:%s')  -- 2019-10-20 15:02:12

ภาษาไทย: ใช้ lc_time_names

SET lc_time_names = 'th_TH';
SELECT DATE_FORMAT(ArrivalTime, '%M %Y') FROM DemoTable1619;
-- ผล: ตุลาคม 2019, ธันวาคม 2019

หมายเหตุ: DATE_FORMAT คืนค่า STRING ใช้สำหรับแสดงผล หากต้องการคำนวณ/กรอง ใช้ฟังก์ชัน DATE/YEAR/MONTH โดยตรง

Specifierความหมายตัวอย่าง
%Mชื่อเดือนเต็ม (January-December)October
%mเดือน 2 หลัก (01-12)10
%bชื่อเดือนย่อ 3 ตัวOct
%Yปี 4 หลัก2019
%yปี 2 หลัก19
%dวัน 2 หลัก20
%H:%i:%sเวลา 24 ชม. (HH:MM:SS)15:02:12
%rเวลา 12 ชม. (hh:mm:ss AM/PM)03:02:12 PM
%Wชื่อวันในสัปดาห์Sunday