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

วิธีสอบถามข้อมูลระหว่างสองวันที่ใน MySQL

การใช้คำสั่ง BETWEEN สำหรับการสอบถามช่วงวันที่

ใน MySQL คุณสามารถสอบถามข้อมูลระหว่างช่วงวันที่ได้อย่างง่ายดายด้วยคำสั่ง BETWEEN รูปแบบพื้นฐานมีดังนี้:

SELECT * FROM your_table_name 
WHERE your_date_column BETWEEN 'start_date' AND CURDATE();

คุณสามารถใช้ CURDATE() หรือ NOW() ก็ได้ ทั้งคู่ทำงานเหมือนกันสำหรับการเปรียบเทียบวันที่

ตัวอย่างการใช้งานจริง

1. สร้างตารางทดสอบ

CREATE TABLE BetweenDateDemo (
    StartDate DATETIME
);

2. เพิ่มข้อมูลตัวอย่าง

INSERT INTO BetweenDateDemo VALUES 
(DATE_ADD(NOW(), INTERVAL -1 YEAR)),
(DATE_ADD(NOW(), INTERVAL -2 YEAR)),
(DATE_ADD(NOW(), INTERVAL -3 YEAR)),
(DATE_ADD(NOW(), INTERVAL 1 YEAR)),
(DATE_ADD(NOW(), INTERVAL 2 YEAR)),
(DATE_ADD(NOW(), INTERVAL 3 YEAR));

3. ดูข้อมูลทั้งหมดในตาราง

SELECT * FROM BetweenDateDemo;

4. สอบถามข้อมูลระหว่างวันที่เฉพาะ

SELECT * FROM BetweenDateDemo 
WHERE StartDate BETWEEN '2014-08-12' AND CURDATE();

5. เรียงลำดับผลลัพธ์ด้วย ORDER BY

SELECT * FROM BetweenDateDemo 
WHERE StartDate BETWEEN '2014-08-12' AND CURDATE() 
ORDER BY StartDate;

คำแนะนำเพิ่มเติม

  • รูปแบบวันที่มาตรฐานคือ YYYY-MM-DD
  • คำสั่ง BETWEEN รวมทั้งค่าเริ่มต้นและค่าสิ้นสุด (inclusive)
  • สำหรับชนิดข้อมูล DATETIME จะเปรียบเทียบทั้งวันที่และเวลา
  • ใช้ DATE() หากต้องการเปรียบเทียบเฉพาะส่วนของวันที่