Выберите значение столбца, если не null else, используйте другое значение столбца
У меня есть 2 столбца в таблице mysql: a и b. a - это строковое значение allways, а b иногда представляет собой строковое значение, а иногда оно равно null.
Как построить mysql SELECT так, чтобы b был принят, если он не является нулевым, а a будет использоваться иначе.
Я попытался сделать какую-то магию с concat и если... тогда без успеха...
UPDATE. Чтобы расширить мой вопрос, существует ли функция, которая работает как Ifnull, но будет работать для нулевых и пустых значений?
Ответы
Ответ 1
Используйте IFNULL (b, a).
Если expr1 не является NULL, IFNULL() возвращает expr1; иначе он возвращает expr2.
Это специфическая функция MySQL. Вы также можете использовать COALESCE таким же образом. Это будет работать в большем количестве баз данных, но имеет немного худшую производительность в MySQL, чем IFNULL.
Ответ 2
IFNULL(b, a)
?
Ответ 3
IF(expr1,expr2,expr3)
Если expr1 является TRUE (expr1 < > 0 и expr1 < > NULL), то IF() возвращает expr2; в противном случае он возвращает expr3.