Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL 쿼리에 IF 문을 삽입하는 적절한 방법은 무엇입니까?

<시간/>

IF 문을 MySQL 쿼리에 삽입하려면 아래 구문을 사용하십시오.:

select yourColumnName ,if(yourCondition, yourStatement1,yourStatement2) from yourTableName;

먼저 테이블을 생성하겠습니다 -

mysql> create table DemoTable1571
   -> (
   -> Id int,
   -> Value int
   -> );
Query OK, 0 rows affected (5.63 sec)

삽입 명령을 사용하여 테이블에 일부 레코드 삽입 -

mysql> insert into DemoTable1571 values(101,500);
Query OK, 1 row affected (1.07 sec)
mysql> insert into DemoTable1571 values(102,450);
Query OK, 1 row affected (0.47 sec)
mysql> insert into DemoTable1571 values(103,300);
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable1571 values(104,700);
Query OK, 1 row affected (0.23 sec)

select 문을 사용하여 테이블의 모든 레코드 표시 -

mysql> select * from DemoTable1571;

그러면 다음과 같은 출력이 생성됩니다.

+------+-------+
| Id   | Value |
+------+-------+
|  101 |   500 |
|  102 |   450 |
|  103 |   300 |
|  104 |   700 |
+------+-------+
4 rows in set (0.00 sec)

다음은 MySQL 쿼리에 if 문을 올바르게 삽입하는 쿼리입니다.

mysql> select Value,if(Value > 550, 'Value is greater than 550','Value is less than 550') from DemoTable1571;

이것은 다음과 같은 출력을 생성합니다 -

+-------+-----------------------------------------------------------------------+
| Value | if(Value > 550, 'Value is greater than 550','Value is less than 550') |
+-------+-----------------------------------------------------------------------+
|   500 | Value is less than 550                                                |
|   450 | Value is less than 550                                                |
|   300 | Value is less than 550                                                |
|   700 | Value is greater than 550                                             |
+-------+-----------------------------------------------------------------------+
4 rows in set (0.00 sec)