MySQL
 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;

三項演算の上記の構文を理解するために、テーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです-

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)

  1. MySQLにテーブルが存在するかどうかを検出するにはどうすればよいですか?

    テーブルの存在を検出するには、INFORMATION_SCHEMA.TABLESの概念を使用します。構文は次のとおりです- select table_name from information_schema.tables where table_schema=database() and table_name=yourTableName; 上記の構文を理解するために、テーブルを作成しましょう- mysql> create table DemoTable2032    -> (    -> ClientId int,   &n

  2. C /C++での操作c=a +++ bはどういう意味ですか?

    CまたはC++で考えてみましょう。次のようなステートメントがあります: c = a+++b; では、この行の意味は何ですか? さて、aとbがそれぞれ2と5を保持しているとします。この式は、2つの異なるタイプと見なすことができます。 c =(a ++)+ b c =a +(++ b) ポストインクリメント演算子とプリインクリメント演算子があります。使用方法によって異なります。 2つの基本的な概念があります。優先順位と結合性。ここで、式を左から右にチェックすると、結果はこの2つになります。 c =(a ++)+b→2+ 5 =7 c =a +(++ b)→2 + 6 =8