【发布时间】:2016-02-10 17:07:57
【问题描述】:
我写了一个查询来显示这个数据,最后一列使用这个查询给出了数据。
TIMESTAMPDIFF(MINUTE,booking_activity.activity_time,booking.pick_up_time) AS ActualWaitingTime
现在,我只需要显示负值,所有正值都应该变成 0。
应该如何编辑这个查询?
【问题讨论】:
我写了一个查询来显示这个数据,最后一列使用这个查询给出了数据。
TIMESTAMPDIFF(MINUTE,booking_activity.activity_time,booking.pick_up_time) AS ActualWaitingTime
现在,我只需要显示负值,所有正值都应该变成 0。
应该如何编辑这个查询?
【问题讨论】:
试试:
CASE
WHEN TIMESTAMPDIFF(MINUTE,booking_activity.activity_time,booking.pick_up_time) < 0
THEN TIMESTAMPDIFF(MINUTE,booking_activity.activity_time,booking.pick_up_time)
ELSE 0
END AS ActualWaitingTime
【讨论】:
THEN REPLACE(TIMESTAMPDIFF(MINUTE,booking_activity.activity_time,booking.pick_up_time),'-','')
greatest(0, ...)...
您可以使用 CASE 函数将任何大于或等于零的值设为零
或者在您的 WHEN 子句中只返回小于零的值
【讨论】: