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

จะสอบถามระหว่างวันที่สองวันใน MySQL ได้อย่างไร


คุณสามารถสอบถามระหว่างวันที่ด้วยความช่วยเหลือของคำสั่ง BETWEEN ไวยากรณ์มีดังนี้ −

เลือก *จาก yourTableName โดยที่ yourColumnName อยู่ระหว่าง 'yourStartingDate' และ curdate()

ใช้ curdate() หรือ now() ทั้งสองฟังก์ชันนี้จะใช้ได้ เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตาราง -

mysql> สร้างตาราง BetweenDateDemo −> ( −> StartDate datetime −> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.78 วินาที)

แทรกระเบียนบางส่วนในตารางโดยใช้แบบสอบถามต่อไปนี้ -

mysql> แทรกลงในค่า BetweenDateDemo (date_add(now(),interval -1 year)); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.11 วินาที) mysql> แทรกลงในค่า BetweenDateDemo (date_add (ตอนนี้ () ช่วงเวลา -2 ปี )); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงในค่า BetweenDateDemo (date_add (ตอนนี้ () ช่วงเวลา -3 ปี)); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงในค่า BetweenDateDemo ( date_add(ตอนนี้(),ช่วง 1 ปี));แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที)mysql> แทรกลงในค่า BetweenDateDemo(date_add(now()ช่วง 2 ปี));แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที )mysql> แทรกลงในค่า BetweenDateDemo(date_add(now(),interval 3 year));ตกลง, 1 แถวได้รับผลกระทบ (0.16 วินาที)

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

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

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

<ก่อนหน้า>+---------------------+| StartDate |+---------------------+| 2017-12-08 11:45:47 || 2016-12-08 11:45:56 || 2015-12-08 11:46:01 || 2019-12-08 11:46:05 || 2020-12-08 11:46:11 || 2021-12-08 11:46:15 |+---------------------+6 แถวในชุด (0.00 วินาที)

ตอนนี้ทำการเลือกระหว่างวันที่โดยใช้ไวยากรณ์ที่กล่าวถึงข้างต้น -

mysql> เลือก *จาก BetweenDateDemo โดยที่ StartDate ระหว่าง '2014-8-12' และ curdate();

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

<ก่อนหน้า>+---------------------+| StartDate |+---------------------+| 2017-12-08 11:45:47 || 2016-12-08 11:45:56 || 2015-12-08 11:46:01 |+---------------------+3 แถวในชุด (0.00 วินาที)

ใช้ ORDER BY เพื่อเรียงลำดับ แบบสอบถามมีดังนี้ −

mysql> เลือก *จาก BetweenDateDemo โดยที่ StartDate ระหว่าง '2014-8-12' และ curdate() เรียงลำดับตาม StartDate;

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

<ก่อนหน้า>+---------------------+| StartDate |+---------------------+| 2015-12-08 11:46:01 || 2016-12-08 11:45:56 || 2017-12-08 11:45:47 |+---------------------+3 แถวในชุด (0.00 วินาที)