MySQL-এ IF() ফাংশন ব্যবহার করে কোনো কলাম NULL কিনা যাচাই করে ১ (NOT NULL) বা ০ (NULL) রিটার্ন করা যায়। এটি রিপোর্টিং বা কন্ডিশনাল এগ리게শনে খুব কাজে আসে।
সিনট্যাক্স
SELECT IF('' IS NOT NULL, 1, 0) AS anyAliasName;
উদাহরণ: খালি স্ট্রিং ('') NULL নয়
mysql> SELECT IF('' IS NOT NULL, 1, 0);
+------------------------+
| if('' IS NOT NULL,1,0) |
+------------------------+
| 1 |
+------------------------+
নোট: খালি স্ট্রিং ('') এবং NULL ভিন্ন।
টেবিল ও ডেটা তৈরি
mysql> CREATE TABLE DemoTable1915 (Name VARCHAR(20));
mysql> INSERT INTO DemoTable1915 VALUES ('Chris'), (''), ('David'), (NULL);
ডেটা যাচাই
mysql> SELECT * FROM DemoTable1915;
+-------+ | Name | +-------+ | Chris | | | | David | | NULL | +-------+
IF() ব্যবহার করে ফলাফল
mysql> SELECT IF(Name IS NOT NULL, 1, 0) AS Result FROM DemoTable1915;
+--------+ | Result | +--------+ | 1 | -- Chris | 1 | -- '' (খালি স্ট্রিং) | 1 | -- David | 0 | -- NULL +--------+
IF() vs COALESCE() vs IFNULL()
| ফাংশন | ব্যবহার | উদাহরণ |
|---|---|---|
| IF(condition, true, false) | শর্তভিত্তি ফলাফল | IF(col IS NULL, 0, 1) |
| IFNULL(expr1, expr2) | NULL হলে expr2 | IFNULL(col, 'N/A') |
| COALESCE(v1, v2, ...) | প্রথম নন-NULL মান | COALESCE(col1, col2, 'N/A') |
সর্বোত্তম অনুশীলন
- NULL চেকের জন্য
IS NULL/IS NOT NULLব্যবহার করুন (= NULL কাজ করে না)। - শুধু NULL ডিফল্ট মান দরকার হলে
IFNULL()বাCOALESCE()সংক্ষিপ্ত।