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

จะค้นหาจำนวนวันในหนึ่งเดือนใน MySQL ได้อย่างไร


หากต้องการค้นหาจำนวนวันในเดือน ให้ใช้ไวยากรณ์ด้านล่าง

เลือก DAY(LAST_DAY(yourColumnName)) เป็น anyVariableName จาก yourTableName;

เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตารางก่อน แบบสอบถามเพื่อสร้างตารางมีดังนี้

mysql> สร้างตาราง DaysInaGivenMonth-> (-> MonthName datetime-> ); เคียวรีตกลง 0 แถวได้รับผลกระทบ (1.62 วินาที)

แทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้

mysql> แทรกลงในค่า DaysInaGivenMonth (ตอนนี้ ()); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.24 วินาที) mysql> แทรกลงในค่า DaysInaGivenMonth (date_add (ตอนนี้ () ช่วงเวลา -1 เดือน)); แบบสอบถามตกลง 1 แถว ได้รับผลกระทบ (0.16 วินาที) mysql> แทรกลงในค่า DaysInaGivenMonth (date_add (ตอนนี้ () ช่วงเวลา -2 เดือน)); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.10 วินาที) mysql> แทรกลงในค่า DaysInaGivenMonth (date_add (ตอนนี้ () ช่วงเวลา - 3 เดือน)); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.20 วินาที) mysql> แทรกลงในค่า DaysInaGivenMonth (date_add (ตอนนี้ () ช่วงเวลา -4 เดือน)); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.23 วินาที) mysql> แทรกลงใน DaysInaGivenMonth values(date_add(now(),interval -5 month));Query OK, 1 แถวได้รับผลกระทบ (0.15 วินาที)

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้

mysql> เลือก *จาก DaysInaGivenMonth;

ต่อไปนี้เป็นผลลัพธ์

<ก่อนหน้า>+---------------------+| เดือนชื่อ |+--------------------+| 2019-01-01 21:34:26 || 2018-12-01 21:34:55 || 2018-11-01 21:35:14 || 2018-10-01 21:35:20 || 2018-09-01 21:35:23 || 2018-08-01 21:35:27 |+---------------------+6 แถวในชุด (0.00 วินาที)

นี่คือข้อความค้นหาเพื่อค้นหาจำนวนวันในเดือนที่แสดงด้านบน

mysql> เลือก DAY(LAST_DAY(MonthName)) เป็น DaysInMonth จาก DaysInaGivenMonth;

ต่อไปนี้เป็นผลลัพธ์

<ก่อนหน้า>+-------------+| DaysInMonth |+-------------+| 31 || 31 || 30 || 31 || 30 || 31 |+-------------+6 แถวในชุด (0.00 วินาที)