Как реализовать тернарный условный оператор в MySQL
Я хочу реализовать тернарный условный оператор в MySQL. У меня есть таблица в которой одно поле id существует. Его значение может быть null. Я хочу показать id в троичном условном формате, как это:
select id = id == null ? 0 : id;
возможно ли это в MySQL?
3 ответов:
документация - ваш друг; вы должны прочитать это!
он говорит:
IFNULL(expr1,expr2)если
expr1- это неNULL,IFNULL()возвращаетexpr1; в противном случае она возвращаетexpr2.а потом много примеров. Это эквивалентно использованию троичного условного выражения со сравнением с
NULLи предмет сравнения как второй операнд; что он не использует символы?и:to получить вас там на самом деле не имеет отношения ни к чему.так, в вашем случае:
SELECT IFNULL(`id`, 0) FROM `table`если вы отчаянно хотите предоставить три операнда явно (почему?!), затем переключитесь на
IF:SELECT IF(`id` IS NULL, 0, `id`) FROM `table`
Comments