ดังที่เราทราบดีว่าฟังก์ชัน DATEDIFF() ถูกใช้เพื่อหาค่าความแตกต่างในจำนวนวันระหว่างวันที่สองวัน ดังนั้นจึงมีความเป็นไปได้ค่อนข้างมากที่จะคืนค่าติดลบเช่นกัน
mysql> select * from differ; +------------+-------------+ | OrderDate | WorkingDate | +------------+-------------+ | 2017-10-22 | 2017-10-29 | | 2017-10-25 | 2017-10-30 | | 2017-10-25 | 2017-11-30 | +------------+-------------+ 3 rows in set (0.00 sec)
แบบสอบถามด้านบนจะคืนค่าจากตาราง 'แตกต่าง' ตอนนี้ ถ้ามีใครต้องการทราบความแตกต่างระหว่าง OrderDate และ WorkingDate ผลลัพธ์จะเป็นค่าลบดังนี้ -
mysql> Select DATEDIFF(OrderDate, WorkingDate)AS 'DIFFERENCE IN DAYS' from differ; +--------------------+ | DIFFERENCE IN DAYS | +--------------------+ | -7 | | -5 | | -36 | +--------------------+ 3 rows in set (0.00 sec)
แต่เราสามารถใช้ฟังก์ชัน MySQL ABS() เพื่อละเว้นค่าลบเหล่านี้และสามารถทำได้ดังนี้ −
mysql> Select ABS(DATEDIFF(OrderDate, WorkingDate))AS 'DIFFERENCE IN DAYS' from differ; +--------------------+ | DIFFERENCE IN DAYS | +--------------------+ | 7 | | 5 | | 36 | +--------------------+ 3 rows in set (0.00 sec)