MySQL-এ যদি কোনো কলামের মান ০ হয়, তবে অন্য কলাম থেকে মান নেওয়ার জন্য IF() ফাংশন ব্যবহার করা হয়।
সিনট্যাক্স
SELECT IF(yourColumnName1 = 0, yourColumnName2, yourColumnName1) AS anyAliasName FROM yourTableName;
উদাহরণ
নিচে একটি টেবিল তৈরি করা হয়েছে:
CREATE TABLE demo30 (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
value INT,
original_value INT
);
ডেটা ইনসার্ট:
INSERT INTO demo30(value, original_value) VALUES (50, 10); INSERT INTO demo30(value, original_value) VALUES (1000, 0); INSERT INTO demo30(value, original_value) VALUES (0, 40); INSERT INTO demo30(value, original_value) VALUES (30, 0);
টেবিলের ডেটা:
+----+-------+----------------+ | id | value | original_value | +----+-------+----------------+ | 1 | 50 | 10 | | 2 | 1000 | 0 | | 3 | 0 | 40 | | 4 | 30 | 0 | +----+-------+----------------+
কোয়েরি
original_value ০ হলে value কলাম থেকে মান নেওয়ার কোয়েরি:
SELECT id, IF(original_value = 0, value, original_value) AS Result FROM demo30;
আউটপুট
+----+--------+ | id | Result | +----+--------+ | 1 | 10 | | 2 | 1000 | | 3 | 40 | | 4 | 30 | +----+--------+
ব্যাখ্যা: সারি ১-এ original_value ১০ (০ নয়), তাই সেটিই দেখাচ্ছে। সারি ২-এ original_value ০, তাই value কলামের ১০০০ দেখাচ্ছে। সারি ৩-এ value ০, তাই original_value ৪০ দেখাচ্ছে। সারি ৪-এ original_value ০, তাই value ৩০ দেখাচ্ছে।