2.1 CASE বিবৃতি
SQL এ একটি বিবৃতি লেখার দুটি উপায় আছে CASE
। প্রথম এন্ট্রি এটিকে জাভা ভাষা থেকে সুইচের মতো দেখায়, যখন দ্বিতীয় বিন্যাসটি আরও বহুবচনের মতো if-else
।
আসুন প্রথম বিকল্পটি দিয়ে শুরু করি - সুইচের একটি এনালগ। সাধারণ বিন্যাস হল:
CASE case_value
WHEN value1 THEN result1
[WHEN value2 THEN result2] ...
[ELSE resultN]
END
সত্যিই খুব অনুরূপ switch
, শুধুমাত্র শব্দগুলি সামান্য ভিন্ন:
এসকিউএল | জাভা |
---|---|
কেস x | সুইচ (x) { |
যখন মান | কেস মান: |
তারপর ফলাফল | ফেরত ফলাফল; |
অন্য ফলাফল | ডিফল্ট: রিটার্ন ফলাফল; |
শেষ | } |
জাভা থেকে এসকিউএল-এ একটি উদাহরণ অনুবাদ করা যাক:
জাভা | এসকিউএল |
---|---|
|
|
2.2 CASE বিবৃতির দ্বিতীয় সংস্করণ
অপারেটরের একটি দ্বিতীয় সংস্করণও রয়েছে CASE
, যা উপরে উল্লিখিত, বহুবচনের মতো if-else
। সাধারণ বিন্যাস হল:
CASE
WHEN condition 1 THEN result1
[WHEN condition 2 THEN result2] ...
[ELSE resultN]
END
এখানে, শর্তগুলি সহজভাবে ক্রমানুসারে চেক করা হয়, যদি তাদের কোনটি সত্য হয়, তাহলে নির্দিষ্ট ফলাফলটি ফেরত দেওয়া হবে। যদি শর্তগুলির একটিও সত্য না হয়, তাহলে মানটি তে উল্লেখ করা হয়েছে ELSE
।
জাভা থেকে এসকিউএল-এ একটি উদাহরণ অনুবাদ করা যাক:
জাভা | এসকিউএল |
---|---|
|
|
|
|
|
|
2.3 CASE স্টেটমেন্ট ব্যবহার করে সমস্যার সমাধান করুন
আসুন কিছু আকর্ষণীয় প্রশ্ন লিখুন। মনে রাখবেন, আমাদের একটি টাস্ক ছিল - "EXPIRED!" শব্দটি যোগ করা। টাস্ক টেবিলে অতীতের কাজের নাম । এটি দিয়ে সহজেই করা যায় CASE
।
সময়সীমা ক্ষেত্রের জন্য , এটি বিবৃতির দ্বিতীয় সংস্করণের মত দেখাবে CASE
:
CASE
WHEN deadline < CURDATE() THEN CONCAT('EXPIRED!', name)
ELSE name
END
অপারেটর ব্যবহার করে একটি সম্পূর্ণ প্রশ্নের একটি উদাহরণ CASE
:
SELECT
id,
emploee_id,
CASE WHEN deadline < CURDATE() THEN CONCAT('EXPIRED!', name) ELSE name END AS name,
deadline
FROM task
এই প্রশ্নের ফলাফল হবে:
আইডি | emploee_id | নাম | শেষ তারিখ |
---|---|---|---|
1 | 1 | মেয়াদোত্তীর্ণ! ফ্রন্টএন্ডে একটি বাগ ঠিক করুন | 2022-06-01 |
2 | 2 | ব্যাকএন্ডে একটি বাগ ঠিক করুন | 2022-06-15 |
3 | 5 | কফি কিনুন | 2022-07-01 |
4 | 5 | কফি কিনুন | 2022-08-01 |
5 | 5 | কফি কিনুন | 2022-09-01 |
6 | (খালি) | অফিস পরিষ্কার করুন | (খালি) |
7 | 4 | জীবন উপভোগ করুন | (খালি) |
8 | 6 | জীবন উপভোগ করুন | (খালি) |
GO TO FULL VERSION