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

แบบสอบถาม MySQL เพื่อนับวันในช่วงวันที่ด้วยวันที่เริ่มต้นและสิ้นสุด


หากต้องการนับวันในช่วงวันที่ คุณต้องค้นหาความแตกต่างระหว่างวันที่โดยใช้ DATEDIFF()

ให้เราสร้างตารางก่อน:

mysql> สร้างตาราง DemoTable730 ( StartDate date, EndDate date);Query OK, 0 แถวได้รับผลกระทบ (0.45 วินาที)

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

mysql> แทรกลงในค่า DemoTable730 ('2019-01-21','2019-07-21'); เคียวรีตกลง ได้รับผลกระทบ 1 แถว (0.14 วินาที)mysql> ลงในค่า DemoTable730 ('2018-10-11) ','2018-12-31');เคียวรีตกลง, 1 แถวได้รับผลกระทบ (0.46 วินาที)mysql> แทรกลงในค่า DemoTable730 ('2016-01-01','2016-12-31'); แบบสอบถามตกลง 1 แถว ได้รับผลกระทบ (0.14 วินาที)

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

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

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+-----------+-----------+| StartDate | EndDate |+-----------+-----------+| 2019-01-21 | 2019-07-21 || 2018-10-11 | 2018-12-31 || 2016-01-01 | 2016-12-31 |+-----------+------------+3 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อนับวันในช่วงวันที่:

mysql> เลือก ABS(DATEDIFF(StartDate,EndDate)) AS Days จาก DemoTable730;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+------+| วัน |+------+| 181 || 81 || 365 |+------+3 แถวในชุด (0.00 วินาที)