예, 먼저 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 코드의 스냅샷은 다음과 같습니다 -
다음은 출력입니다 -
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)