หากต้องการลบ 30 วันจาก datetime ปัจจุบัน อันดับแรกเราต้องรับข้อมูลเกี่ยวกับวันที่ปัจจุบัน จากนั้นใช้เมธอด now() จาก MySQL ตอนนี้ () ให้เวลาวันที่ปัจจุบัน
วิธีที่จะใช้สำหรับสิ่งนี้คือ DATE_SUB() จาก MySQL นี่คือรูปแบบการลบ 30 วันจากวันที่ปัจจุบัน
ไวยากรณ์มีดังนี้ −
DATE_SUB(NOW(),INTERVAL 30 DAY);
ไวยากรณ์ด้านบนจะคำนวณวันที่เวลาปัจจุบันก่อน และในขั้นตอนต่อไป ให้ลบ 30 วัน ให้เราดูการสืบค้นเพื่อหาวันที่และเวลาปัจจุบันก่อน -
mysql> เลือกเลย ();
นี่คือผลลัพธ์ -
<ก่อนหน้า>+---------------------+| ตอนนี้() |+---------------------+| 2018-11-23 16:38:43 |+--------------------- +1 แถวในชุด (0.00 วินาที)ตอนนี้ ให้เราใช้วิธี date_sub() เพื่อลบ 30 วัน แบบสอบถามมีดังนี้ −
mysql> เลือก date_sub(ตอนนี้(), ช่วง 30 วัน);
นี่คือผลลัพธ์ที่แสดงวันที่หลังจากลบ 30 วัน -
<ก่อนหน้า>+--------------------------------+| date_sub(ตอนนี้(),ช่วง 30 วัน) |+--------------------------------+| 2018-10-24 16:38:50 |+-------------------------------- +1 แถวในชุด (0.00 วินาที)หากต้องการรับเฉพาะค่าวันที่ในผลลัพธ์ คุณสามารถใช้ curdate() แทน now() นี่คือตัวอย่าง curdate()
แบบสอบถามมีดังนี้ −
mysql> เลือก date_sub(curdate(), ช่วง 30 วัน);
ต่อไปนี้เป็นผลลัพธ์ -
<ก่อนหน้า>+-------------------------------------------+| date_sub(curdate(),ช่วง 30 วัน) |+------------------------------------------+ | 2018-10-24 |+------------------------------------------ +1 แถวในชุด ( 0.00 วินาที)