การใช้คำสั่ง 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()หากต้องการเปรียบเทียบเฉพาะส่วนของวันที่