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...