Как написать инструкцию IF ELSE в запросе MySQL?
Что-то вроде этого:
mysql_query("...(irrelevant code).. IF(action==2&&state==0){state=1}");
Затем в моем массиве я смогу сделать это:
$row['state']
//this should equal 1, the query should not change anything in the database,
//just the variable for returning the information
mysql
if-statement
Дилан Кросс
источник
источник
N.id
и(CASE WHEN ...
AS N.state
наAS state
.=
вместо==
сравнения?вы должны писать его на SQL, а не в стиле C / PHP
для использования в запросе
IF ( action = 2 AND state = 0 ) THEN SET state = 1
для использования в хранимых процедурах или функциях
источник
Вы ищете
case
:case when action = 2 and state = 0 then 1 else 0 end as state
В MySQL есть
if
синтаксис (if(action=2 and state=0, 1, 0)
), ноcase
он более универсален.Обратите внимание, что
as state
это просто псевдоним столбца. Я предполагаю, что это находится в списке столбцов вашего SQL-запроса.источник
SELECT col1, col2, IF( action = 2 AND state = 0, 1, 0 ) AS state from tbl1;
ИЛИ
SELECT col1, col2, (case when (action = 2 and state = 0) then 1 else 0 end) as state from tbl1;
оба результата будут одинаковыми ....
источник
согласно справочному руководству mySQL, это синтаксис использования оператора if и else:
Итак, что касается вашего запроса:
или вы можете использовать
IF ((action=2)&&(state=0)) then state = 1; ELSE state = 2; END IF;
По этой ссылке есть хороший пример: http://easysolutionweb.com/sql-pl-sql/how-to-use-if-and-else-in-mysql/
источник