1.1 শর্তাধীন ফাংশনের তালিকা
if-else
এসকিউএল ল্যাঙ্গুয়েজে ফাংশনগুলির একটি তালিকা রয়েছে যা জাভাতে অপারেটরের সাথে কিছুটা মিল রয়েছে switch
।
মোট 4 টি ফাংশন আছে:
ফাংশন | বর্ণনা | |
---|---|---|
1 | মামলা | এনালগ সুইচ |
2 | IF() | টারনারি অপারেটরের একটি অ্যানালগ বা if-else |
3 | IFNULL() | if-else এর analogue |
4 | NULLIF() | if-else এর analogue |
এসকিউএল-এর শেষ তিনটি ফাংশন হিসাবে উপস্থাপিত হয়, এবং CASE
এটি একটি পূর্ণাঙ্গ অপারেটর, তাই আমরা একেবারে শেষে এটি আলাদাভাবে বিবেচনা করব।
1.2 IF() ফাংশন
এসকিউএল-এর একটি ফাংশন IF()
কিছুটা জাভাতে একটি টারনারি অপারেটরের মতো। এসকিউএল ভাষায়, এটি 3 টি পরামিতি নেয় এবং এর মতো দেখায়:
IF (condition, true, false)
ফাংশনে তিনটি এক্সপ্রেশন পাস করতে হবে IF
:
- সত্যের জন্য পরীক্ষিত একটি শর্ত;
- শর্ত সত্য হলে একটি অভিব্যক্তি যা ফেরত দেওয়া হয়;
- শর্ত মিথ্যা হলে একটি অভিব্যক্তি যা ফেরত দেওয়া হয়।
এটি কীভাবে কাজ করে তা বোঝা সহজ করার জন্য নীচে আমি কিছু উদাহরণ দেব:
অনুরোধ | ফলাফল | |
---|---|---|
1 | যদি নির্বাচন করুন ( 1>2 , 2, 3) | 3 |
2 | যদি নির্বাচন করুন ( 1<2 , 'হ্যাঁ', 'না') | 'হ্যাঁ' |
3 | IF ( STRCMP('test','test1' ), 'না', 'হ্যাঁ') নির্বাচন করুন | 'না' |
1.3 ফাংশন IFNULL() এবং NULLIF()
এছাড়াও ফাংশন দুটি পরিবর্তন আছে IF()
.
প্রথম পরিবর্তন হল ফাংশন IFNULL()
। এটি শুধুমাত্র দুটি মান লাগে:
IFNULL (expression 1, expression 2)
যদি expression1 এর সমান না হয় NULL
, তাহলে ফাংশনটি expression1 ফেরত দেবে । যদি expression1 IS NULL,
তাহলে ফাংশনটি expression2 রিটার্ন করবে । সারাংশ হল ডিফল্ট মানের প্রতিস্থাপন যখন ক্ষেত্রটি সমান হয় NULL
।
ফাংশনের দ্বিতীয় পরিবর্তন IF
হল ফাংশন NULLIF()
, এটি দুটি মানও নেয়:
NULLIF (expression 1, expression 2)
এটি বিপরীত দিকে কাজ করে:
- যদি expression1 expression2 এর সমান হয় , তাহলে ফাংশনটি রিটার্ন করে
NULL
; - যদি অভিব্যক্তি সমান না হয়, তাহলে অভিব্যক্তি 1 ফেরত দেওয়া হয় ।