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

ดึงข่าวล่าสุด 6 เดือนใน MySQL ด้วย DATE_SUB และ NOW

คิวรี่ข้อมูลย้อนหลัง 6 เดือนจากตารางข่าว

ใช้ฟังก์ชัน DATE_SUB() ร่วมกับ NOW() หรือ CURDATE() เพื่อคำนวณวันที่ 6 เดือนก่อนหน้า

รูปแบบคำสั่ง (Syntax)

SELECT * FROM yourTableName 
WHERE yourDateTimeColumn >= DATE_SUB(NOW(), INTERVAL 6 MONTH);

ตัวอย่างการใช้งาน

สร้างตาราง Newstable:

CREATE TABLE Newstable (
    NewsId INT,
    NewsDatetime DATETIME
);

เพิ่มข้อมูล:

INSERT INTO Newstable VALUES 
(101, '2018-02-10'),
(102, '2018-12-10'),
(103, '2018-03-14'),
(104, '2018-12-12'),
(105, '2018-04-21'),
(106, '2018-06-30');

สมมติวันนี้คือ 2018-12-20 คิวรี่ 6 เดือนย้อนหลัง:

SELECT * FROM Newstable 
WHERE NewsDatetime > DATE_SUB(NOW(), INTERVAL 6 MONTH);

ผลลัพธ์ (ข่าวตั้งแต่ 2018-06-20 ถึง 2018-12-20):

NewsIdNewsDatetime
1022018-12-10 00:00:00
1042018-12-12 00:00:00
1062018-06-30 00:00:00

เคล็ดลับ: ใช้ INTERVAL 6 MONTH สำหรับเดือน, INTERVAL 30 DAY สำหรับวัน, INTERVAL 1 YEAR สำหรับปี