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

หาวันที่วานนี้ใน MySQL ด้วย CURDATE() และ DATE_SUB()

บทนำ

การคำนวณวันที่วานนี้ (หรือวันที่ลบจำนวนวันใดๆ) ใน MySQL สามารถใช้ฟังก์ชัน DATE_SUB() ร่วมกับ CURDATE() ได้

วันที่ปัจจุบัน

mysql> SELECT CURDATE();
+------------+
| CURDATE()  |
+------------+
| 2019-06-09 |
+------------+

ตัวอย่างการสร้างตารางและเพิ่มข้อมูล (ใส่วันที่วานนี้โดยอัตโนมัติ)

mysql> CREATE TABLE DemoTable (
    -> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> ShippingDate DATE
    -> );
Query OK, 0 rows affected (0.63 sec)
mysql> INSERT INTO DemoTable(ShippingDate)
    -> VALUES(DATE_SUB(CURDATE(), INTERVAL 1 DAY));

แสดงข้อมูล

mysql> SELECT * FROM DemoTable;

ผลลัพธ์

+----+--------------+
| Id | ShippingDate |
+----+--------------+
| 1  | 2019-06-08   |
+----+--------------+
1 row in set (0.00 sec)

รูปแบบการใช้งาน DATE_SUB

DATE_SUB(date, INTERVAL expr unit)

หน่วยเวลาที่ใช้ได้ (Unit)

  • DAY - วัน
  • MONTH - เดือน
  • YEAR - ปี
  • HOUR, MINUTE, SECOND - ชั่วโมง, นาที, วินาที

ตัวอย่างเพิ่มเติม

-- 3 วันที่แล้ว
DATE_SUB(CURDATE(), INTERVAL 3 DAY)

-- 1 เดือนที่แล้ว
DATE_SUB(CURDATE(), INTERVAL 1 MONTH)

-- 1 ปีที่แล้ว
DATE_SUB(CURDATE(), INTERVAL 1 YEAR)