저장 프로시저에서 IF를 사용하고 select 문에서도 IF()를 사용할 수 있습니다.
SELECT 문에서 IF()
IF() in select statement mysql> select if(0=0,'Hello MySQL','condition is wrong');
이것은 다음과 같은 출력을 생성합니다 -
+------------------------------------------------------+ | if('test'='test','Hello MySQL','condition is wrong') | +------------------------------------------------------+ | Hello MySQL | +------------------------------------------------------+ 1 row in set (0.00 sec)
상태가 잘못된 두 번째 경우 -
mysql> select if(1=0,'Hello MySQL','condition is wrong');
이것은 다음과 같은 출력을 생성합니다 -
+--------------------------------------------+ | if(1=0,'Hello MySQL','condition is wrong') | +--------------------------------------------+ | condition is wrong | +--------------------------------------------+ 1 row in set (0.00 sec)
저장 프로시저에 있는 경우
저장 프로시저를 생성하는 쿼리는 다음과 같습니다. 여기에서 IF를 사용하여 조건을 설정했습니다 -
mysql> DELIMITER // mysql> CREATE PROCEDURE if_demo(value int) BEGIN IF 1=value THEN SELECT "Hello MySQL"; ELSE SELECT "Wrong Condition"; END IF; END // Query OK, 0 rows affected (0.20 sec) mysql> DELIMITER ;
이제 호출 명령을 사용하여 저장 프로시저를 호출할 수 있습니다.
mysql> call if_demo(1);
이것은 다음과 같은 출력을 생성합니다 -
+-------------+ | Hello MySQL | +-------------+ | Hello MySQL | +-------------+ 1 row in set (0.00 sec) Query OK, 0 rows affected (0.01 sec)
조건이 거짓이 되는 경우 -
mysql> call if_demo(0);
이것은 다음과 같은 출력을 생성합니다 -
+-----------------+ | Wrong Condition | +-----------------+ | Wrong Condition | +-----------------+ 1 row in set (0.00 sec) Query OK, 0 rows affected (0.01 sec)