Как использовать оператор IF в «списке выбора» MySQL:
select if (1>2, 2, 3); //returns 3
select if(1<2,'yes','no'); //returns yes
SELECT IF(STRCMP('test','test1'),'no','yes'); //returns no
Как использовать оператор IF в MySQL, где список условий поиска предложения:
create table penguins (id int primary key auto_increment, name varchar(100))
insert into penguins (name) values ('rico')
insert into penguins (name) values ('kowalski')
insert into penguins (name) values ('skipper')
select * from penguins where 3 = id
-->3 skipper
select * from penguins where (if (true, 2, 3)) = id
-->2 kowalski
Как использовать оператор IF в MySQL, «имеющий условия поиска по пунктам»:
select * from penguins
where 1=1
having (if (true, 2, 3)) = id
-->1 rico
Используйте оператор IF с колонкой, используемой в списке выбора, для принятия решения:
select (if (id = 2, -1, 1)) item
from penguins
where 1=1
--> 1
--> -1
--> 1
Если операторы, встроенные в SQL-запросы, являются плохим «запахом кода». Плохой код имеет высокий «WTF в минуту» во время проверки кода. Это одна из тех вещей. Если я увижу это в производстве с вашим именем, то вы автоматически станете не такими, как вы.