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

คว้าที่วันที่ปัจจุบันและวันก่อนด้วย MySQL?


คุณสามารถคว้าวันที่ปัจจุบันด้วย CURDATE() และวันก่อนด้วย MySQL โดยใช้ DATE_SUB() ด้วย INTERVAL 1 DAY ไวยากรณ์มีดังนี้:

SELECT DATE_SUB(CURDATE(),INTERVAL 1 DAY);

ไวยากรณ์ดังต่อไปนี้เพื่อรับ curdate และวันก่อนด้วย date_sub()

SELECT *FROM yourTableName โดยที่ yourColumnName =CURDATE() OR yourColumnName =DATE_SUB(CURDATE(),INTERVAL 1 DAY);

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

mysql> สร้างตาราง ProductDemo -> ( -> Id int ไม่ใช่ NULL AUTO_INCREMENT, -> ProductName varchar(20), -> ProductOfferDate datetime, -> PRIMARY KEY(Id) -> );Query OK, 0 แถวได้รับผลกระทบ ( 0.54 วินาที)

แทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก ที่นี่ เราได้เพิ่มผลิตภัณฑ์และวันที่เสนอผลิตภัณฑ์ แบบสอบถามมีดังนี้:

mysql> แทรกลงใน ProductDemo(ProductName,ProductOfferDate) values('Product-11','2017-05-21');Query OK, 1 แถวได้รับผลกระทบ (0.25 วินาที)mysql> แทรกลงใน ProductDemo(ProductName,ProductOfferDate) ค่า ('Product-22', '2019-01-15'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.16 วินาที) mysql> แทรกลงใน ProductDemo (ProductName, ProductOfferDate) ค่า ('Product-21','2019-01- 14');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที)mysql> แทรกลงในค่า ProductDemo(ProductName,ProductOfferDate) ('Product-91','2018-10-23');Query OK, 1 แถวได้รับผลกระทบ (0.26 วินาที )mysql> แทรกลงในค่า ProductDemo(ProductName,ProductOfferDate) ('Product-133','2019-01-24');Query OK, 1 แถวได้รับผลกระทบ (0.13 วินาที)

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

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

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

<ก่อนหน้า>+----+-------------+---------------------+| รหัส | ชื่อสินค้า | ProductOfferDate |+----+-------------+---------------------------+| 1 | สินค้า-11 | 2017-05-21 00:00:00 || 2 | สินค้า-22 | 2019-01-15 00:00:00 || 3 | สินค้า-21 | 2019-01-14 00:00:00 || 4 | Product-91 | 2018-10-23 00:00:00 || 5 | Product-133 | 2019-01-24 00:00:00 |+-----------+-------------+------------------- --+5 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อคว้าผลิตภัณฑ์ที่มีวันที่ปัจจุบันและวันก่อน:

mysql> เลือก *จาก ProductDemo -> โดยที่ ProductOfferDate =CURDATE() หรือ ProductOfferDate =date_sub(curdate(), ช่วงเวลา 1 วัน);

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

<ก่อนหน้า>+----+-------------+---------------------+| รหัส | ชื่อสินค้า | ProductOfferDate |+----+-------------+---------------------------+| 2 | สินค้า-22 | 2019-01-15 00:00:00 || 3 | สินค้า-21 | 2019-01-14 00:00:00 |+-----------+-------------+------------------- --+2 แถวในชุด (0.00 วินาที)