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

จะคืนบันทึกของวันนี้โดยใช้ DATE จาก DATETIME Field ได้อย่างไร


ให้เราสร้างตารางที่มีคอลัมน์ประเภทวันที่และเวลาก่อน

mysql> สร้างตาราง DemoTable (รหัส int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, ShippingDate datetime); ตกลง, 0 แถวได้รับผลกระทบ (0.54 วินาที)

แทรกบางระเบียนในตารางโดยใช้คำสั่ง insert

mysql> แทรกลงในค่า DemoTable(ShippingDate) ('2019-03-01 05:45:32');Query OK, 1 แถวได้รับผลกระทบ (0.15 วินาที)mysql> แทรกลงในค่า DemoTable(ShippingDate) ('2019- 04-13 11:34:56');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที)mysql> แทรกลงในค่า DemoTable(ShippingDate) ('2019-03-15 04:45:23');แบบสอบถามตกลง 1 แถว ได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงในค่า DemoTable (ShippingDate) ('2019-04-11 12:10:02'); ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที)

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

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

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+----+---------------------+| รหัส | วันที่จัดส่ง |+----+---------------------+| 1 | 2019-03-01 05:45:32 || 2 | 2019-04-13 11:34:56 || 3 | 2019-03-15 04:45:23 || 4 | 2019-04-11 12:10:02 |+-----------+---------------------+4 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อรับบันทึกของวันนี้โดยใช้ DATE จากฟิลด์ DATETIME สมมติว่าวันที่ของวันนี้คือ “2019-04-13”:

mysql> เลือก *จาก DemoTable โดยที่ ShippingDate> date_sub(curdate(), ช่วง 1 วัน);

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+----+---------------------+| รหัส | วันที่จัดส่ง |+----+---------------------+| 2 | 2019-04-13 11:34:56 |+----+---------------------+1 แถวในชุด (0.00 วินาที)