เมื่อเก็บวันที่ในรูปแบบสตริง เช่น 'dd/mm/yyyy' และต้องการแสดงเฉพาะชื่อเดือน (ภาษาอังกฤษ) สามารถใช้ฟังก์ชัน STR_TO_DATE() แปลงสตริงเป็นวันที่ แล้วใช้ DATE_FORMAT() จัดรูปแบบแสดงผล
ตัวอย่างการใช้งาน
สร้างตารางและเพิ่มข้อมูลวันที่แบบสตริง:
mysql> create table DemoTable1320 (MonthName varchar(20));
mysql> insert into DemoTable1320 values('10/10/2010');
mysql> insert into DemoTable1320 values('11/12/2018');
mysql> insert into DemoTable1320 values('12/01/2019');
ข้อมูลต้นฉบับ:
+------------+ | MonthName | +------------+ | 10/10/2010 | | 11/12/2018 | | 12/01/2019 | +------------+
คำสั่งแสดงชื่อเดือน
mysql> select date_format(str_to_date(MonthName,'%d/%m/%Y'),'%M') from DemoTable1320;
ผลลัพธ์
+-----------------------------------------------------+ | date_format(str_to_date(MonthName,'%d/%m/%Y'),'%M') | +-----------------------------------------------------+ | October | | December | | January | +-----------------------------------------------------+
คำอธิบาย:
STR_TO_DATE(MonthName, '%d/%m/%Y')แปลงสตริง 'dd/mm/yyyy' เป็นชนิดข้อมูล DATEDATE_FORMAT(date, '%M')จัดรูปแบบแสดงชื่อเดือนเต็ม (January, February, ...)- รูปแบบอื่นๆ:
%m= เลขเดือน 2 หลัก,%b= ชื่อเดือนย่อ 3 ตัวอักษร