บทความนี้สาธิตการใช้ DATE_FORMAT() เพื่อดึงเฉพาะส่วนเดือนจากคอลัมน์ DATETIME ทั้งรูปแบบชื่อเดือนเต็ม (%M) และตัวเลขเดือน 2 หลัก (%m)
สร้างตารางและข้อมูลวันที่
mysql> CREATE TABLE DemoTable753 (DueDate DATETIME);
Query OK, 0 rows affected (0.51 sec)
mysql> INSERT INTO DemoTable753 VALUES('2019-06-21'), ('2019-01-31'), ('2018-12-01'), ('2016-11-11');
คิวรีดึงเดือน 2 รูปแบบ
mysql> SELECT
DATE_FORMAT(DueDate, '%M') AS MonthName,
DATE_FORMAT(DueDate, '%m') AS MonthNumber
FROM DemoTable753;
ผลลัพธ์
+---------------------------+---------------------------+
| date_format(DueDate,'%M') | date_format(DueDate,'%m') |
+---------------------------+---------------------------+
| June | 06 |
| January | 01 |
| December | 12 |
| November | 11 |
+---------------------------+---------------------------+
Format Specifier สำหรับเดือน:
%M- ชื่อเดือนเต็ม (January - December)%m- เดือน 2 หลัก (01 - 12)%b- ชื่อเดือนย่อ (Jan - Dec)%c- เดือน 1-2 หลัก (1 - 12)
ฟังก์ชันทางเลือก: MONTH(date) คืนค่าตัวเลข 1-12 (Integer) ใช้ง่ายกว่าสำหรับคำนวณ/เปรียบเทียบ