|
คำสั่ง TIMESTAMPDIFF หาค่าความต่างของช่วงวันที่
@หาค่าระหว่างเดือน
SELECT TIMESTAMPDIFF(MONTH,"2017-02-01","2017-05-01") ค่าที่ได้คือ 3 เพราะเดือน ห่างกัน 3 เดือน
@หาค่าระหว่างปี
SELECT TIMESTAMPDIFF(YEAR,"2016-01-01","2017-01-01") ค่าที่ได้คือ 1 ครับ เพราะห่างกันหนึ่งปี
@หาค่าระหว่างวัน
SELECT TIMESTAMPDIFF(day,"2016-01-01","2017-01-01") ค่าที่ได้คือ 365 เพราะต่างกัน 1 เท่ากับ 365 วัน
ส่วนจะหาวันที่ย้อนหลัง จากวันที่เรากำหนดได้หรือเปล่า เช่น จะหาย้อนไป 28 วันของวันที่ 1/12/2559 ว่าเป็นวันที่เท่าไหรอะครับ นี้เลยครับคำสั่ง
SELECT FROM_DAYS(TO_DAYS("2017-07-01")-28) as dd ค่าที่ได้คือ 2017-06-03
หรือ วันใช้ SELECT SUBDATE('1998-01-02', INTERVAL 28 day) as dd ผลที่ได้ก็คือ 2007-11-03 มีค่าเท่ากัน
เดือนใช้ SELECT SUBDATE("2007-12-01", INTERVAL 1 MONTH) as dd ผลที่ได้คือ 2007-11-01
ถ้าปีก็ SELECT SUBDATE("2007-12-01", INTERVAL 1 year) as dd ผลที่ได้คือ 2006-12-01
|
|