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

เลือกข้อมูลวันที่ระหว่างสองวันที่ใน MySQL ด้วย BETWEEN

บทความนี้สาธิตการใช้ 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 ... เพื่อเปรียบเทียบเฉพาะวันที่