При попытке сравнить версии программного обеспечения с 5.12 по 5.8 версия 5.12 новее, однако математически 5.12 меньше 5.8. Как бы сравнить две версии, чтобы более новая версия вернула "Y"?
SELECT CASE WHEN 5.12 > 5.8 THEN 'Y' ELSE 'N' END
Возможные решения
- Добавьте 0 после десятичного числа в 5.8, чтобы он сравнивал 5.08-5.12, однако, похоже, для этого потребуется немного кода.
- Просто сравните значения после десятичной (т.е. 12 > 8), однако это не удается, когда версия переместится в 6.0.
- Используйте обратную логику и предположим, что если 5.12 меньше 5.8, то для возврата "Y". Я считаю, что это закончилось бы неудачей, когда версия переместится в 6.0.