IF...ELSE স্টেটমেন্ট একটি কন্ট্রোল ফ্লো স্টেটমেন্ট যা T-SQL (Transact-SQL) এ শর্তাধীন লজিকাল ফ্লো পরিচালনা করতে ব্যবহৃত হয়। এটি কোনো শর্তের উপর ভিত্তি করে কোডের একটি নির্দিষ্ট অংশ কার্যকর করতে সাহায্য করে। যদি শর্ত সত্য হয়, তাহলে IF ব্লকের কোড এক্সিকিউট হবে, এবং যদি শর্ত মিথ্যা হয়, তাহলে ELSE ব্লকের কোড এক্সিকিউট হবে।
IF...ELSE সিনট্যাক্স
IF (condition)
BEGIN
-- কোড যা শর্ত সত্য হলে চলবে
END
ELSE
BEGIN
-- কোড যা শর্ত মিথ্যা হলে চলবে
END
- condition: এখানে শর্তটি হবে যে কোনো এক্সপ্রেশন যা সত্য (TRUE) অথবা মিথ্যা (FALSE) হতে পারে।
- BEGIN...END: একাধিক স্টেটমেন্ট একসাথে চলানোর জন্য BEGIN এবং END ব্লক ব্যবহার করা হয় (যদি একাধিক স্টেটমেন্ট থাকে)।
উদাহরণ ১: মৌলিক IF...ELSE স্টেটমেন্ট
ধরা যাক, আমরা একটি চেক করতে চাই যে একটি নাম্বার পজিটিভ কি না।
DECLARE @Number INT = 5;
IF @Number > 0
BEGIN
PRINT 'The number is positive.';
END
ELSE
BEGIN
PRINT 'The number is not positive.';
END
এখানে:
- যদি
@Number0-এর বেশি হয়, তাহলে IF ব্লকটি কার্যকর হবে এবং "The number is positive." প্রিন্ট হবে। - যদি
@Number0 বা এর নিচে থাকে, তাহলে ELSE ব্লকটি কার্যকর হবে এবং "The number is not positive." প্রিন্ট হবে।
উদাহরণ ২: একাধিক IF...ELSE স্টেটমেন্ট
ধরা যাক, আমরা একটি নির্দিষ্ট নাম্বার পরীক্ষা করতে চাই এবং তার ভিত্তিতে একটি বার্তা প্রিন্ট করতে চাই যে নাম্বারটি পজিটিভ, নেগেটিভ অথবা শূন্য।
DECLARE @Number INT = -5;
IF @Number > 0
BEGIN
PRINT 'The number is positive.';
END
ELSE IF @Number < 0
BEGIN
PRINT 'The number is negative.';
END
ELSE
BEGIN
PRINT 'The number is zero.';
END
এখানে:
- যদি
@Number0 এর চেয়ে বড় হয়, তাহলে "The number is positive." প্রিন্ট হবে। - যদি
@Number0 এর চেয়ে কম হয়, তাহলে "The number is negative." প্রিন্ট হবে। - যদি
@Number0 হয়, তাহলে "The number is zero." প্রিন্ট হবে।
উদাহরণ ৩: নেস্টেড IF...ELSE স্টেটমেন্ট
একটি শর্তের মধ্যে আরেকটি শর্ত ব্যবহার করতে চাইলে IF...ELSE নেস্টেড করা যায়।
DECLARE @Number INT = 10;
IF @Number >= 0
BEGIN
IF @Number == 0
BEGIN
PRINT 'The number is zero.';
END
ELSE
BEGIN
PRINT 'The number is positive.';
END
END
ELSE
BEGIN
PRINT 'The number is negative.';
END
এখানে:
- প্রথমে চেক করা হচ্ছে যে
@Number0 বা তার বেশি কি না। - এরপর যদি তা 0 হয়, তাহলে "The number is zero." প্রিন্ট হবে। আর যদি তা 0 এর বেশি হয়, "The number is positive." প্রিন্ট হবে।
- যদি প্রথম শর্তটি মিথ্যা হয়, তাহলে "The number is negative." প্রিন্ট হবে।
সারাংশ
IF...ELSE স্টেটমেন্ট T-SQL-এ শর্তাধীন লজিকের জন্য ব্যবহৃত হয়। এটি কোনো শর্তের উপর ভিত্তি করে বিভিন্ন কোড ব্লক এক্সিকিউট করতে সাহায্য করে। আপনি একাধিক IF...ELSE IF এবং ELSE ব্লক ব্যবহার করে জটিল শর্তাধীন লজিক তৈরি করতে পারেন।