MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQL IFで数学演算を実行すると、ELSEは可能ですか?


数学演算を実行し、条件を操作するために、CASEステートメントを検討できます。まずテーブルを作成しましょう-

mysql> create table DemoTable
   (
   Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   FruitName varchar(100),
   FruitPrice int
   );
Query OK, 0 rows affected (0.26 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable(FruitName,FruitPrice) values('Orange',250);
Query OK, 1 row affected (0.10 sec)

mysql> insert into DemoTable(FruitName,FruitPrice) values('Banana',100);
Query OK, 1 row affected (0.05 sec)

mysql> insert into DemoTable(FruitName,FruitPrice) values('Apple',150);
Query OK, 1 row affected (0.05 sec)

mysql> insert into DemoTable(FruitName,FruitPrice) values('Pomegranate',200);
Query OK, 1 row affected (0.10 sec)

selectステートメントを使用してテーブルのすべてのレコードを表示する-

mysql> select *from DemoTable;

これにより、次の出力が生成されます-

+----+-------------+------------+
| Id | FruitName   | FruitPrice |
+----+-------------+------------+
|  1 | Orange      |        250 |
|  2 | Banana      |        100 |
|  3 | Apple       |        150 |
|  4 | Pomegranate |        200 |
+----+-------------+------------+
4 rows in set (0.19 sec)

以下は、数学演算を使用したCASEステートメントのクエリです-

mysql> select Id,FruitName,FruitPrice,
   case
   when FruitName='Orange'
   then FruitPrice/5
   else FruitPrice
   end as OriginalPrice
   from DemoTable;

これにより、次の出力が生成されます-

+----+-------------+------------+---------------+
| Id | FruitName   | FruitPrice | OriginalPrice |
+----+-------------+------------+---------------+
|  1 | Orange      |        250 |       50.0000 |
|  2 | Banana      |        100 |           100 |
|  3 | Apple       |        150 |           150 |
|  4 | Pomegranate |        200 |           200 |
+----+-------------+------------+---------------+
4 rows in set (0.00 sec)

  1. MySQLでLIMITを使用してUPDATEクエリを使用することは可能ですか?

    はい、MySQLでLIMITを使用してUPDATEクエリを使用することは可能です。方法を見てみましょう。 この例では、最初にテーブルを作成します。 CREATEコマンドを使用してテーブルを作成します。 mysql>CREATE table tblUpdateLimit -> ( -> id int, -> name varchar(100) -> ); Query OK, 0 rows affected (0.53 sec) レコードはINSERTコマンドを使用して挿入されます。 mysql>INSERT into tblUpdateLimit valu

  2. PostgreSQLでMySQLのORDERBYFIELD()をシミュレートしますか?

    以下は、PostgreSQLでMySQLのORDER BY FIELD()をシミュレートするプロセスです。 オンラインコンパイラを使用してPostgreSQLを実行しました。 出力を取得するために上記で行ったことを見てみましょう。 まず、テーブルを作成しました。 create table PostgreOrderIdDemo (    countryName varchar(20) );を作成します INSERTコマンドを使用してレコードを挿入しました。 insert into PostgreOrderIdDemo values('IND');