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

SELECT แถวที่วันที่ปัจจุบันอยู่ระหว่าง 2 คอลัมน์ DATE ใน MySQL


ใช้ตัวดำเนินการ 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();