MySQL-এ কোনো কলামে ০ থাকলে সেটিকে NULL হিসেবে দেখাতে NULLIF() ফাংশন ব্যবহার করুন।
সিনট্যাক্স
SELECT *, NULLIF(yourColumnName, 0) AS anyVariableName FROM yourTableName;
উদাহরণ
টেবিল তৈরি করি:
mysql> create table Replace0WithNULLDemo
-> (
-> Id int NOT NULL AUTO_INCREMENT,
-> Name varchar(20),
-> Marks int,
-> PRIMARY KEY(Id)
-> ); Query OK, 0 rows affected (0.53 sec)
রেকর্ড যোগ করি (কয়েকটি ০ সহ):
mysql> insert into Replace0WithNULLDemo(Name,Marks) values('John',76);
mysql> insert into Replace0WithNULLDemo(Name,Marks) values('Carol',86);
mysql> insert into Replace0WithNULLDemo(Name,Marks) values('Sam',0);
mysql> insert into Replace0WithNULLDemo(Name,Marks) values('Mike',0);
mysql> insert into Replace0WithNULLDemo(Name,Marks) values('Larry',98);
mysql> insert into Replace0WithNULLDemo(Name,Marks) values('Bob',0);
সকল রেকর্ড
mysql> select *from Replace0WithNULLDemo;
আউটপুট
+----+-------+-------+ | Id | Name | Marks | +----+-------+-------+ | 1 | John | 76 | | 2 | Carol | 86 | | 3 | Sam | 0 | | 4 | Mike | 0 | | 5 | Larry | 98 | | 6 | Bob | 0 | +----+-------+-------+
০ কে NULL-এ রূপান্তর করুন
mysql> select *, NULLIF(Marks, 0) AS ReplaceZeroWithNULL FROM Replace0WithNULLDemo;
ফলাফল
+----+-------+-------+---------------------+ | Id | Name | Marks | ReplaceZeroWithNULL | +----+-------+-------+---------------------+ | 1 | John | 76 | 76 | | 2 | Carol | 86 | 86 | | 3 | Sam | 0 | NULL | | 4 | Mike | 0 | NULL | | 5 | Larry | 98 | 98 | | 6 | Bob | 0 | NULL | +----+-------+-------+---------------------+
কার্যকারিতা:NULLIF(expr1, expr2)যদিexpr1 = expr2হয় তবে NULL রিটার্ন করে, অন্যথায় expr1 রিটার্ন করে।