ใช้ตัวดำเนินการ AND เพื่อเลือกแถวที่วันที่ปัจจุบันอยู่ระหว่าง 2 คอลัมน์วันที่
รูปแบบไวยากรณ์
SELECT * FROM yourTableName WHERE yourDateColumnName1 <= 'yourDateValue' AND yourDateColumnName2 >= 'yourDateValue';
ตัวอย่างการใช้งาน
สร้างตาราง:
mysql> CREATE TABLE selectDates ( Id INT NOT NULL AUTO_INCREMENT, StartingDate DATE, EndingDate DATE, PRIMARY KEY(Id) ); Query OK, 0 rows affected (0.80 sec)
เพิ่มข้อมูลช่วงวันที่ต่างๆ:
mysql> INSERT INTO selectDates(StartingDate,EndingDate) VALUES('2019-01-11','2019-01-23'); ...
(เพิ่มข้อมูล 9 แถว)
คำสั่งค้นหาวันที่ 2019-01-10 อยู่ในช่วงไหน:
mysql> SELECT * FROM selectDates WHERE StartingDate <= '2019-01-10' AND EndingDate >= '2019-01-10';
ผลลัพธ์:
+----+--------------+------------+ | Id | StartingDate | EndingDate | +----+--------------+------------+ | 2 | 2019-01-10 | 2019-01-23 | | 8 | 2019-01-06 | 2019-01-21 | | 9 | 2019-01-07 | 2019-01-17 | +----+--------------+------------+ 3 rows in set (0.00 sec)
ในการใช้งานจริง แทนค่าวันที่คงที่ด้วย CURDATE():
SELECT * FROM selectDates WHERE StartingDate <= CURDATE() AND EndingDate >= CURDATE();