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

จะลบ 30 วันจาก datetime ปัจจุบันใน MySQL ได้อย่างไร


หากต้องการลบ 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 วินาที)