MySQL-এ খালি স্ট্রিংকে NULL-এ রূপান্তর করতে NULLIF() ফাংশন ব্যবহার করতে হয়। সিনট্যাক্স নিচে দেওয়া হলো:
SELECT NULLIF(yourColumnName,'') as anyVariableName from yourTableName;
উপরের সিনট্যাক্সে, যদি খালি স্ট্রিং ('') কে খালি স্ট্রিং ('') দিয়ে তুলনা করা হয়, তবে ফলাফল সবসময় NULL হবে। আবার, যদি NULL কে খালি স্ট্রিং ('') দিয়ে তুলনা করা হয়, তবে ফলাফলও সবসময় NULL হবে।
এটি বুঝতে একটি টেবিল তৈরি করা যাক। টেবিল তৈরির কোয়েরি:
mysql> create table ConvertEmptyStringToNULL
-> (
-> Id int NOT NULL AUTO_INCREMENT,
-> Name varchar(20),
-> PRIMARY KEY(Id)
-> ); Query OK, 0 rows affected (0.63 sec)
ইনসার্ট কমান্ড দিয়ে কিছু রেকর্ড ইনসার্ট করা যাক। কোয়েরিটি হলো:
mysql> insert into ConvertEmptyStringToNULL(Name) values('John'); Query OK, 1 row affected (0.22 sec) mysql> insert into ConvertEmptyStringToNULL(Name) values(''); Query OK, 1 row affected (0.15 sec) mysql> insert into ConvertEmptyStringToNULL(Name) values(NULL); Query OK, 1 row affected (0.14 sec) mysql> insert into ConvertEmptyStringToNULL(Name) values(''); Query OK, 1 row affected (0.21 sec) mysql> insert into ConvertEmptyStringToNULL(Name) values('Carol'); Query OK, 1 row affected (0.13 sec) mysql> insert into ConvertEmptyStringToNULL(Name) values(NULL); Query OK, 1 row affected (0.70 sec)
সিলেক্ট স্টেটমেন্ট দিয়ে সব রেকর্ড দেখানো যাক। কোয়েরিটি হলো:
mysql> select *from ConvertEmptyStringToNULL;
আউটপুট নিচে দেওয়া হলো:
+----+-------+ | Id | Name | +----+-------+ | 1 | John | | 2 | | | 3 | NULL | | 4 | | | 5 | Carol | | 6 | NULL | +----+-------+ 6 rows in set (0.00 sec)
খালি স্ট্রিংকে NULL-এ রূপান্তর করার কোয়েরি:
mysql> select NULLIF(Name,'') as EmptyStringNULL from ConvertEmptyStringToNULL;
খালি স্ট্রিংয়ের জায়গায় NULL দেখানো আউটপুট নিচে দেওয়া হলো:
+------------------+ | EmptyStringNULL | +------------------+ | John | | NULL | | NULL | | NULL | | Carol | | NULL | +------------------+ 6 rows in set (0.00 sec)
সারসংক্ষেপে, NULLIF(column, '') ফাংশন ব্যবহার করে খালি স্ট্রিংকে সহজে NULL-এ রূপান্তর করা যায়। এটি ডেটা ক্লিনিং এবং কনসিস্টেন্সি মেইনটেইন করার জন্য খুব কার্যকর।