কম্পিউটার টিউটোরিয়াল

MySQL-এ CASE স্টেটমেন্ট দিয়ে গাণিতিক অপারেশন করা

MySQL-এ শর্তসাপেক্ষে গাণিতিক অপারেশন করতে CASE স্টেটমেন্ট ব্যবহার করা হয়। এটি IF THEN ELSE-এর বিকল্প এবং আরও শক্তিশালী।

টেবিল তৈরি এবং ডেটা ইনসার্ট

mysql> CREATE TABLE DemoTable (
    -> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> FruitName VARCHAR(100),
    -> FruitPrice INT
    -> );
mysql> INSERT INTO DemoTable(FruitName, FruitPrice) VALUES('Orange', 250);
mysql> INSERT INTO DemoTable(FruitName, FruitPrice) VALUES('Banana', 100);
mysql> INSERT INTO DemoTable(FruitName, FruitPrice) VALUES('Apple', 150);
mysql> INSERT INTO DemoTable(FruitName, FruitPrice) VALUES('Pomegranate', 200);

সব রেকর্ড দেখুন

mysql> SELECT * FROM DemoTable;
+----+-------------+------------+
| Id | FruitName   | FruitPrice |
+----+-------------+------------+
|  1 | Orange      |        250 |
|  2 | Banana      |        100 |
|  3 | Apple       |        150 |
|  4 | Pomegranate |        200 |
+----+-------------+------------+

CASE দিয়ে শর্তসাপেক্ষ ক্যালকুলেশন

যদি ফল Orange হয়, দাম ৫ দিয়ে ভাগ করুন, অন্যথায় মূল দাম দেখান:

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.00 |
|  2 | Banana      |        100 |           100 |
|  3 | Apple       |        150 |           150 |
|  4 | Pomegranate |        200 |           200 |
+----+-------------+------------+---------------+

ব্যাখ্যা: শুধু Orange-এর দাম ২৫০/৫ = ৫০ হয়েছে। বাকি ফলগুলোর দাম অপরিবর্তিত রয়েছে।

বিস্তৃত CASE সিনট্যাক্স:

CASE
    WHEN condition1 THEN result1
    WHEN condition2 THEN result2
    ...
    ELSE default_result
END
  1. MySQL-এ স্ট্রিং উল্টানো (REVERSE ফাংশন)

  2. MySQL-এ UPDATE কোয়েরি LIMIT সহ ব্যবহার করা যায় কি?

  3. PostgreSQL-এ MySQL-এর ORDER BY FIELD() অনুকরণ করা

  4. C++-এ অপারেশন পেরফর্ম করে অ্যারেতে সর্বোচ্চ প্রোডাক্ট বের করার প্রোগ্রাম