Простая Математика макс. функционирует в MySQL

Как найти максимум двух явных значений в MySQL? Что-то как МАКСИМУМ (1, @foo).

Существуют функции группы как МАКС, МИН, AVG, и т.д. которые берут имя столбца в качестве аргумента и работают с наборами результатов. Действительно ли возможно преобразовать два явных значения в набор результатов и использовать те функции? Некоторые другие пути?

P.S.: Мне нужна макс. функция для одной из моих хранимых процедур.

13
задан OMG Ponies 17 December 2009 в 02:41
поделиться

2 ответа

Как найти максимум из двух явных значений в MySQL? Что-то вроде MAXIMUM (1, @foo).

Используйте функцию GREATEST :

GREATEST(1, @foo)

... вернет любое значение больше - если 1 больше, чем значение в @foo, вы ' будет 1. В противном случае вы получите любое значение из @foo. Кроме того, это не агрегатная функция.

Альтернативой было бы использование оператора CASE:

CASE WHEN 1 > @foo THEN 1 ELSE @foo END

... потому что CASE является стандартом ANSI и будет работать в Oracle, MySQL, SQL Server, Postgres ...

29
ответ дан 1 December 2019 в 20:11
поделиться

Вы можете использовать IF (1> @ foo, 1, @ foo)

2
ответ дан 1 December 2019 в 20:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: