Как заказать максимумом двух столбцов, которые могут быть пустыми в MySQL?

Нет, название атрибута является отдельным от своей единицы измерения.

при вызове переменной length_mm тогда Вы связываетесь с мм.

, что при использовании интервала на 32 бита для хранения length_mm, в конечном счете длина в мм может стать больше тогда 62,000, или независимо от того, что предел находится на 32 битах ints. Вы наклоняетесь, переключаются на m, вызывают Вас, связал Вас переменная длины с length_mm.

9
задан TylerH 18 February 2019 в 16:09
поделиться

2 ответа

Если вы знаете, что salaryplus всегда будет больше, чем salaryminus , то вы можете выполнить

order by coalesce(salaryplus, salaryminus, 0)

coalesce вернет первое значение который не является нулем, или (в этом примере) 0, если оба значения равны нулю.

В противном случае сделайте что-то вроде этого:

order by greatest(ifnull(salaryminus,0), ifnull(salaryplus,0))

Это будет обрабатывать как salaryminus , так и salaryplus ] как 0, если они равны нулю, и будет упорядочиваться по большему из двух.

16
ответ дан 4 December 2019 в 13:03
поделиться

Вы можете использовать coalesce , чтобы вместо этого преобразовать столбцы с возможно нулевым значением в определенные значения - например, coalesce (salaryminus, -99999999) даст большое отрицательное число, если salaryminus равно нулю, но будет вернуть salaryminus, если не ноль.

0
ответ дан 4 December 2019 в 13:03
поделиться
Другие вопросы по тегам:

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