2010-11-09 2 views
16

я хочу сделать следующее:Выберите минимум двух дат

SELECT min(date_1, date_2) 
from dual; 

Но это не получится, потому что страшно мин принимает только один параметр. Есть ли другой способ?

ответ

27
SELECT LEAST(date_1, date_2) FROM DUAL; 

Oracle LEAST

+1

Есть ли эквивалент «LEAST» в SSMS? – ScottieB

+0

SSMS2012: _'LEAST 'не является признанным встроенным именем функции ._ – Airn5475

+2

противоположное наибольшее – Pierre

12

Попробуйте использовать CASE вместо MIN, чтобы сравнить два и вернуть меньшее значение:

SELECT CASE WHEN date_1<date_2 THEN date_1 ELSE date_2 END FROM dual; 

Источник: http://www.techonthenet.com/oracle/functions/case.php

+2

Вы также можете добавить COALESCE к тем сравнениям, если только столбцы даты не допускают нули. –

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