MySQL-এ TRIM() এবং COALESCE() ফাংশন ব্যবহার করে হোয়াইটস্পেস বা NULL ফার্স্টনেমवाले রেকর্ড বের করা যায়।
উদাহরণ: টেবিল তৈরি এবং ডেটা ইনসার্ট
mysql> create table DemoTable826(
FirstName varchar(100),
Age int
);
Query OK, 0 rows affected (0.60 sec)
mysql> insert into DemoTable826 values(' ',24);
Query OK, 1 row affected (0.08 sec)
mysql> insert into DemoTable826 values(' ',22);
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable826 values('Chris',26);
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable826 values('Robert',27);
Query OK, 1 row affected (0.07 sec)
সকল রেকর্ড দেখানো
mysql> select * from DemoTable826;
+-----------+------+ | FirstName | Age | +-----------+------+ | Adam | 21 | | | 24 | | | 22 | | Chris | 26 | | Robert | 27 | +-----------+------+ 5 rows in set (0.00 sec)
হোয়াইটস্পেস বা NULL ফার্স্টনেমवाले রেকর্ড বের করা
mysql> select * from DemoTable826 where COALESCE(TRIM(FirstName), '') = '';
+-----------+------+ | FirstName | Age | +-----------+------+ | | 24 | | | 22 | +-----------+------+ 2 rows in set (0.00 sec)
ব্যাখ্যা
TRIM(FirstName)- প্রথম এবং শেষের হোয়াইটস্পেস মুছে ফেলে (' ' → '')COALESCE(TRIM(FirstName), '')- NULL হলে খালি স্ট্রিং '' রিটার্ন করে= ''- ফলাফল খালি স্ট্রিং কিনা যাচাই করে
ফলাফল টেবিল
| FirstName | TRIM() | COALESCE(..., '') | = ''? |
|---|---|---|---|
| 'Adam' | 'Adam' | 'Adam' | না |
| ' ' | '' | '' | হ্যাঁ ✓ |
| ' ' | '' | '' | হ্যাঁ ✓ |
| 'Chris' | 'Chris' | 'Chris' | না |
| NULL | NULL | '' | হ্যাঁ ✓ |
বিকল্প পদ্ধতি
WHERE TRIM(COALESCE(FirstName, '')) = ''WHERE FirstName IS NULL OR TRIM(FirstName) = ''(স্পষ্ট)WHERE LENGTH(TRIM(FirstName)) = 0(দ্রুত)
ডেটা ক্লিন-আপ (আপডেট)
UPDATE DemoTable826 SET FirstName = NULL WHERE TRIM(COALESCE(FirstName, '')) = '';
সারসংক্ষেপ: COALESCE(TRIM(col), '') = '' একই সাথে NULL, খালি স্ট্রিং, এবং হোয়াইটস্পেস-ওনلی মান ক্যাচ করে।