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

จะรับวันแรกของทุกเดือนที่สอดคล้องกันใน MySQL ได้อย่างไร


คุณสามารถใช้ฟังก์ชัน 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;

ผลลัพธ์

<ก่อนหน้า>+-----------+| วันที่สาธิต |+-----------+| 2019-03-01 || 2018-09-01 || 2018-10-01 || 2018-11-01 || 2018-08-01 |+-----------+5 แถวในชุด (0.00 วินาที)