บทความนี้สาธิตการใช้ BETWEEN ใน WHERE เพื่อเลือกแถวที่มีวันที่อยู่ในช่วงที่กำหนด (Inclusive - รวมทั้งสองวัน)
สร้างตารางและข้อมูลวันที่
mysql> CREATE TABLE DemoTable681 (AdmissionDate DATETIME);
Query OK, 0 rows affected (0.75 sec)
mysql> INSERT INTO DemoTable681 VALUES('2019-01-21');
mysql> INSERT INTO DemoTable681 VALUES('2019-11-01');
mysql> INSERT INTO DemoTable681 VALUES('2019-12-03');
mysql> INSERT INTO DemoTable681 VALUES('2019-07-03');
mysql> INSERT INTO DemoTable681 VALUES('2019-02-04');
คิวรีเลือกวันที่ระหว่าง 2019-02-01 ถึง 2019-12-01
mysql> SELECT * FROM DemoTable681
WHERE AdmissionDate BETWEEN '2019-02-01' AND '2019-12-01';
ผลลัพธ์
+---------------------+
| AdmissionDate |
+---------------------+
| 2019-11-01 00:00:00 |
| 2019-07-03 00:00:00 |
| 2019-02-04 00:00:00 |
+---------------------+
คำอธิบาย:
BETWEEN 'start' AND 'end'- รวมทั้งค่าเริ่มต้นและค่าสิ้นสุด (Inclusive)- เทียบเท่า:
AdmissionDate >= '2019-02-01' AND AdmissionDate <= '2019-12-01' - วันที่ 2019-01-21 (น้อยกว่าเริ่มต้น) และ 2019-12-03 (มากกว่าสิ้นสุด) ถูกตัดออก
- ใช้กับ DATE, DATETIME, TIMESTAMP ได้ทั้งคู่
แนะนำ: สำหรับ DATETIME ที่มีส่วนเวลา ควรระบุเวลาให้ชัดเจนหรือใช้ DATE(AdmissionDate) BETWEEN ... เพื่อเปรียบเทียบเฉพาะวันที่