mysql IFNULL ELSE
У меня есть оператор select, где я хочу сделать select условным, как это
IFNULL(field_a,field_a,feild_b)
чтобы он проверял поле a, если a равно null, тогда select будет полем b
это возможно ?
3 ответов
использовать объединиться:
SELECT COALESCE(field_a, field_b)
COALESCE-это стандартная функция ANSI, которая возвращает первое ненулевое значение из списка указанных столбцов, обрабатывая столбцы слева направо. Итак, в Примере if field_a
равно null,field_b
значение будет отображаться. Однако эта функция возвращает значение NULL, если в указанных столбцах нет ненулевого значения.
он поддерживается на MySQL (я использовал его на 4.1), SQL Server (начиная с v2000), Oracle 9и+...
Да, но это всего лишь два параметра:
IFNULL(field_a,field_b)
Если field_a
не null, он будет возвращен. В противном случае field_b
будут возвращены.
ссылки: IFNULL
и еще один способ освежевать эту кошку (гибкий не только для нулевых сравнений)...
select if(field_a is not null, field_a, field_b) from...