我正在尝试计算两个日期列之间的差异,它可以正常工作:
select (ship_date - due_date) AS DaysTaken;
基本上,我想确定订单是否按时发货,如果没有,则延迟多少天。这是正常的,正如预期的那样,除非如果订单提前发货,我得到一个负数。我想做的是评估结果并返回0,如果它计算负值。
我不知道如何在MySQL select语句中执行此操作。有人可以帮忙吗?
答案 0 :(得分:2)
您可以使用GREATEST()功能将负数替换为0:
select GREATEST((ship_date - due_date),0) AS DaysTaken;
答案 1 :(得分:1)
SELECT GREATEST(ship_date - due_date, 0) AS DaysTaken