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

삼항 연산은 C 또는 C++처럼 MySQL에 존재합니까?

<시간/>

예, 먼저 C 또는 C++ 언어에서 삼항 연산자의 작동 방식을 살펴보겠습니다.

X=(X > 10 && ( X-Y) < 0) ?: X:(X-Y);

다음은 C 언어로 된 데모 코드입니다. 그런 다음 MySQL을 확인합니다. C 코드는 다음과 같습니다 -

#include <stdio.h>
int main() {
   int X;
   int Y;
   int result;
   printf("Enter the value for X:");
   scanf("%d",&X);
   printf("Enter the value for Y:");
   scanf("%d",&Y);
   result=( X > 1 && (X-Y) < 0) ? X: (X-Y);
   printf("The Result is=%d",result);
   return 0;
}

C 코드의 스냅샷은 다음과 같습니다 -

삼항 연산은 C 또는 C++처럼 MySQL에 존재합니까?

다음은 출력입니다 -

삼항 연산은 C 또는 C++처럼 MySQL에 존재합니까?

MySQL 삼항 연산의 구문은 다음과 같습니다 -

select case when yourtableAliasName.yourColumnName1 > 1 AND
(yourtableAliasName.yourColumnName1-yourtableAliasName.yourColumnName2) < 0 THEN
0 ELSE (yourtableAliasName.yourColumnName1-yourtableAliasName.yourColumnName2)
END AS anyAliasName from yourTableName yourtableAliasName;
일 때 케이스 선택

Trenary 연산에 대한 위의 구문을 이해하기 위해 테이블을 생성해 보겠습니다. 테이블을 생성하는 쿼리는 다음과 같습니다 -

mysql> create table TernaryOperationDemo
   -> (
   -> X int,
   -> Y int
   -> );
Query OK, 0 rows affected (0.61 sec)

삽입 명령을 사용하여 테이블에 일부 레코드를 삽입하십시오. 쿼리는 다음과 같습니다 -

mysql> insert into TernaryOperationDemo values(10,5);
Query OK, 1 row affected (0.14 sec)
mysql> insert into TernaryOperationDemo values(5,15);
Query OK, 1 row affected (0.16 sec)
mysql> insert into TernaryOperationDemo values(20,15);
Query OK, 1 row affected (0.15 sec)
mysql> insert into TernaryOperationDemo values(15,25);
Query OK, 1 row affected (0.13 sec)
mysql> insert into TernaryOperationDemo values(10,-11);
Query OK, 1 row affected (0.15 sec)

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

mysql> select *from TernaryOperationDemo;

다음은 출력입니다 -

+------+------+
| X    | Y    |
+------+------+
|   10 |    5 |
|    5 |   15 |
|   20 |   15 |
|   15 |   25 |
|   10 |  -11 |
+------+------+
5 rows in set (0.00 sec)

다음은 삼항 연산에 대한 쿼리입니다 -

mysql> select case when tbl.X > 1 AND (tbl.X-tbl.Y) < 0 THEN 0 ELSE (tbl.X-tbl.Y) END AS
Result from TernaryOperationDemo tbl;
일 때 케이스 선택

다음은 출력입니다 -

+--------+
| Result |
+--------+
|      5 |
|      0 |
|      5 |
|      0 |
|     21 |
+--------+
5 rows in set (0.00 sec)