একটি নির্দিষ্ট সংখ্যক আর্গুমেন্টের জন্য MySQL CASE ব্যবহার করুন।
সিনট্যাক্স নিম্নরূপ
SELECT *, CASE WHEN yourColumName1>yourColumName2 THEN 'yourMessage1' ELSE 'yourMessage2' END AS anyAliasName FROM yourTableName;
উপরের সিনট্যাক্স বুঝতে, আসুন একটি টেবিল তৈরি করি। একটি টেবিল তৈরি করার প্রশ্নটি নিম্নরূপ
mysql> create table CaseFunctionDemo -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> Value1 int, -> Value2 int -> ); Query OK, 0 rows affected (0.56 sec)
সন্নিবেশ কমান্ড ব্যবহার করে টেবিলে কিছু রেকর্ড সন্নিবেশ করান।
প্রশ্নটি নিম্নরূপ
mysql> insert into CaseFunctionDemo(Value1,Value2) values(10,20); Query OK, 1 row affected (0.21 sec) mysql> insert into CaseFunctionDemo(Value1,Value2) values(100,40); Query OK, 1 row affected (0.10 sec) mysql> insert into CaseFunctionDemo(Value1,Value2) values(0,20); Query OK, 1 row affected (0.15 sec) mysql> insert into CaseFunctionDemo(Value1,Value2) values(0,-50); Query OK, 1 row affected (0.12 sec)
সিলেক্ট স্টেটমেন্ট ব্যবহার করে টেবিল থেকে সমস্ত রেকর্ড প্রদর্শন করুন।
প্রশ্নটি নিম্নরূপ
mysql> select *from CaseFunctionDemo;
নিম্নলিখিত আউটপুট
+----+--------+--------+ | Id | Value1 | Value2 | +----+--------+--------+ | 1 | 10 | 20 | | 2 | 100 | 40 | | 3 | 0 | 20 | | 4 | 0 | -50 | +----+--------+--------+ 4 rows in set (0.00 sec)
এখানে CASE স্টেটমেন্টের জন্য ক্যোয়ারী আছে
mysql> select*, case when Value1>Value2 then 'Value1 is Greater' else 'Value2 is Greater' end AS Comparision from CaseFunctionDemo;
নিম্নলিখিত আউটপুট
+----+--------+--------+-------------------+ | Id | Value1 | Value2 | Comparision | +----+--------+--------+-------------------+ | 1 | 10 | 20 | Value2 is Greater | | 2 | 100 | 40 | Value1 is Greater | | 3 | 0 | 20 | Value2 is Greater | | 4 | 0 | -50 | Value1 is Greater | +----+--------+--------+-------------------+ 4 rows in set (0.00 sec)