2011-01-18 5 views
1

Я пытаюсь вычислить разницу между двумя столбцов дат, который работает просто отлично, как:Условные значения вычисляемого столбца в MySql

select (ship_date - due_date) AS DaysTaken; 

В принципе, я хочу, чтобы определить, если заказы были отправлены вовремя и, если нет, сколько дней поздно. Это работает отлично, как и ожидалось, за исключением того, что если заказ отправлен раньше, я получаю отрицательное число. То, что я хотел бы сделать, - это оценить результаты и вернуть 0, если он вычисляет отрицательное значение.

Я не знаю, как это сделать в инструкции выбора MySQL. Может ли кто-нибудь помочь?

+0

Near дубликат [Как получить максимум из двух значений в MySQL?] (Http://stackoverflow.com/вопросы/1565688 /). – outis

ответ

2

Вы можете использовать функцию GREATEST() заменить отрицательные числа с 0:

select GREATEST((ship_date - due_date),0) AS DaysTaken; 
+0

Большое спасибо! – Merrill

+0

@Merrill: если ответ разрешает ваш вопрос, [принимайте] (http://meta.stackexchange.com/questions/5234/). Если это полезно, но не разрешает ваш вопрос (или разрешает вопрос, но есть другой ответ, который лучше), поставите вопрос. – outis

Смежные вопросы