คุณสามารถใช้ฟังก์ชัน date-format() จาก MySQL เพื่อรับวันแรกของทุกเดือนที่เกี่ยวข้อง ไวยากรณ์มีดังนี้ −
select DATE_FORMAT(yourDatetimeColumnName ,'%Y-%m-01') เป็น anyVariableName fromyourTableName;
เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตารางก่อน แบบสอบถามเพื่อสร้างตารางมีดังนี้ −
mysql> สร้างตาราง getFirstDayOfMonth -> ( -> DueDatetime datetime -> ); สืบค้นตกลง 0 แถวได้รับผลกระทบ (1.16 วินาที)
แทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้ −
mysql> แทรกลงในค่า getFirstDayOfMonth(date_add(now(),interval 3 month));Query OK, 1 แถวได้รับผลกระทบ (0.30 วินาที)mysql> แทรกลงในค่า getFirstDayOfMonth(date_add(now(),interval -3 month) ); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงในค่า getFirstDayOfMonth (date_add (ตอนนี้ () ช่วงเวลา -2 เดือน)); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.18 วินาที) mysql> แทรกลงในค่า getFirstDayOfMonth (date_add (ตอนนี้ () ช่วงเวลา -1 เดือน)); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.16 วินาที) mysql> แทรกลงในค่า getFirstDayOfMonth (วันที่_add (ตอนนี้ () ช่วงเวลา -4 เดือน)); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.10 วินาที)
แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้ −
mysql> เลือก *จาก getFirstDayOfMonth;
ผลลัพธ์
<ก่อนหน้า>+---------------------+| DueDatetime |+--------------------+| 2019-03-20 12:32:06 || 2018-09-20 12:32:16 || 2018-10-20 12:32:22 || 2018-11-20 12:32:28 || 2018-08-20 12:32:33 |+---------------------+5 แถวในชุด (0.00 วินาที)นี่คือแบบสอบถามเพื่อรับวันแรกของเดือนที่เกี่ยวข้อง เดือนใดก็ตามที่อยู่ในคอลัมน์ คำค้นหาต่อไปนี้จะคืนค่าวันแรกของแต่ละเดือน -
mysql> เลือก DATE_FORMAT(DueDatetime ,'%Y-%m-01') เป็น DateDemo จาก getFirstDayOfMonth;