DATE_SUB SQL คืออะไร
DATE_SUB คือคำสั่ง SQL ของฐานข้อมูล MySQL ใช้สำหรับลบวันที่ หรือเวลาตามที่ระบุไว้ รูปแบบการใช้งานคำสั่ง DATE_SUB คือ
DATE_SUB('<วันที่เวลา>', INTERVAL <จำนวน> <ประเภท>)
วันที่เวลา คือ วันที่ หรือวันที่เวลาที่ต้องการลบ เช่น 2023-08-23
จำนวน คือ จำนวนที่ต้องการลบ เช่น 5, 15, 30
ประเภท คือ ประเภทข้อมูลที่ต้องการลบ เช่น วัน, เดือน, ปี
ค่าพารามิเตอร์ประเภท ที่ใช้กับคำสั่ง DATE_SUB
ค่าพารามิเตอร์ประเภท | หมายถึง |
DAY | วันที่ |
MONTH | เดือน |
YEAR | ปี |
HOUR | ชั่วโมง |
MINUTE | นาที |
SECOND | วินาที |
ขอตัวอย่างการใช้ DATE_SUB ลบวันที่ 15 วัน
สมมติต้องการลบ 15 วันจากวันที่ 2023-08-23
SELECT DATE_SUB('2023-08-23', INTERVAL 15 DAY)
// ผลลัพธ์
2023-08-08
ถ้าต้องการลบเดือนด้วย DATE_SUB ละ
SELECT DATE_SUB('2023-08-23', INTERVAL 2 MONTH)
// ผลลัพธ์
2023-06-23
ตัวอย่างลบ 2 เดือนจากวันที่ 2023-08-23
ต้องการลบ 4 ปีจากปีปัจจุบันด้วย DATE_SUB
SELECT DATE_SUB(DATE(NOW()), INTERVAL 4 YEAR)
// ผลลัพธ์
2019-08-23
จากตัวอย่างดึงวันที่ปัจจุบันด้วยคำสั่ง NOW และแสดงเฉพาะวันที่ด้วยคำสั่ง DATE จากนั้นลบ 4 ปีด้วย DATE_SUB ร่วมกับ INTERVAL 4 YEAR
ขอตัวอย่างการลบชั่วโมงด้วยคำสั่ง DATE_SUB
ลบชั่วโมงด้วยคำสั่ง DATE_SUB ของ SQL
SELECT DATE_SUB('2023-08-23 12:00:00', INTERVAL 2 HOUR)
// ผลลัพธ์
2023-08-23 10:00:00
จากตัวอย่างลบ 2 ชั่วโมงจากวันที่เวลา 2023-08-23 12:00:00
ต้องการลบ 30 นาทีจาก 12:00:00 ด้วยคำสั่ง DATE_SUB
ลบนาทีด้วยคำสั่ง DATE_SUB ของ SQL
SELECT DATE_SUB('2023-08-23 12:00:00', INTERVAL 30 MINUTE)
// ผลลัพธ์
2023-08-23 11:30:00
จากตัวอย่างลบ 30 นาทีจากวันที่เวลา 2023-08-23 12:00:00
ถ้าจะลบ 45 วินาทีด้วย DATE_SUB ต้องเขียนยังไง
ลบวินาทีด้วยคำสั่ง DATE_SUB ของ SQL
SELECT DATE_SUB('2023-08-23 12:00:00', INTERVAL 45 SECOND)
// ผลลัพธ์
2023-08-23 11:59:15
จากตัวอย่างลบ 45 วินาทีจากวันที่เวลา 2023-08-23 12:00:00
ช่วยสรุปคำสั่ง DATE_SUB ของ SQL ให้หน่อย
คำสั่ง DATE_SUB ของ SQL เป็นคำสั่งที่สำคัญ และมีประโยชน์สำหรับการลบวันที่ หรือเวลาตามที่ต้องการ รองรับการลบทั้งหมด คือ วัน, เดือน, ปี, ชั่วโมง, นาที และวินาที พร้อมคืนผลลัพธ์เป็นวันที่ หรือเวลาที่ถูกลบจำนวนแล้ว