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

เลือกแถว MySQL ที่วันที่ของวันนี้อยู่ระหว่างสองคอลัมน์ DATE?


ในการเลือกแถว MySQL ที่วันที่ของวันนี้อยู่ระหว่างสองคอลัมน์วันที่ คุณต้องใช้ตัวดำเนินการ AND ไวยากรณ์มีดังนี้:

เลือก *จาก yourTableName โดยที่ yourDateColumnName1 <='yourDateValue' ANDyourDateColumnName2>=''yourDateValue';

เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้:

mysql> สร้างตาราง selectDates -> ( -> Id int ไม่ใช่ NULL AUTO_INCREMENT, -> วันที่เริ่มต้น, -> วันที่สิ้นสุด, -> คีย์หลัก (Id) -> ); แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.80 วินาที) 

ตอนนี้คุณสามารถแทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้:

mysql> แทรกลงในค่า selectDates(StartingDate,EndingDate) ('2019-01-11','2019-01-23');Query OK, 1 แถวได้รับผลกระทบ (0.17 วินาที)mysql> แทรกลงใน selectDates(StartingDate, EndingDate) ค่า ('2019-01-10','2019-01-23');Query OK, 1 แถวได้รับผลกระทบ (0.17 วินาที)mysql> แทรกลงในค่า selectDates (StartingDate, EndingDate) ('2019-01-30' ,'2019-01-30');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที)mysql> แทรกลงในค่า selectDates (StartingDate, EndingDate) ('2019-10-14','2019-10-28');Query ตกลง ได้รับผลกระทบ 1 แถว (0.17 วินาที)mysql> แทรกลงในค่า selectDates(StartingDate,EndingDate) ('2019-10-14','2019-10-20');Query OK, 1 แถวได้รับผลกระทบ (0.19 วินาที)mysql> แทรกลงในค่า selectDates(StartingDate,EndingDate) ('2019-11-17','2019-11-19');Query OK, 1 แถวได้รับผลกระทบ (0.52 วินาที)mysql> แทรกลงใน selectDates (StartingDate, EndingDate) ค่า (' 2019-12-21','2019-12-31'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.19 วินาที) mysql> แทรกลงในค่า selectDates (StartingDate, EndingDate) ('2019-01-06','2019-01 -21');แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.16 sec)mysql> แทรกลงในค่า selectDates(StartingDate,EndingDate) ('2019-01-07','2019-01-17');Query OK, 1 แถวได้รับผลกระทบ (0.18 วินาที)

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้:

mysql> เลือก *จาก selectDates;

ต่อไปนี้เป็นผลลัพธ์:

<ก่อนหน้า>+----+--------------+-----------+| รหัส | วันที่เริ่มต้น | EndingDate |+----+--------------+-----------+| 1 | 2019-01-11 | 2019-01-23 || 2 | 2019-01-10 | 2019-01-23 || 3 | 2019-01-30 | 2019-01-30 || 4 | 2019-10-14 | 2019-10-28 || 5 | 2019-10-14 | 2019-10-20 || 6 | 2019-11-17 | 2019-11-19 || 7 | 2019-12-21 | 2019-12-31 || 8 | 2019-01-06 | 2019-01-21 || 9 | 2019-01-07 | 2019-01-17 |+----+--------------+-----------+9 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่อเลือกวันที่ของวันนี้ระหว่างสองคอลัมน์วันที่:

select *from selectDates where beginningDate <='2019-01-10' AND EndingDate>='2019-01-10';

ต่อไปนี้เป็นผลลัพธ์:

<ก่อนหน้า>+----+--------------+-----------+| รหัส | วันที่เริ่มต้น | EndingDate |+----+--------------+-----------+| 2 | 2019-01-10 | 2019-01-23 || 8 | 2019-01-06 | 2019-01-21 || 9 | 2019-01-07 | 2019-01-17 |+----+--------------+-----------+3 แถวในชุด (0.00 วินาที)