কম্পিউটার টিউটোরিয়াল

MySQL-এ CASE WHEN ব্যবহার করে কলাম খালি স্ট্রিং ('') কিনা NULL কিনা তা চেক করা


MySQL-এ CASE WHEN ব্যবহার করে কলামের মান NULL, খালি স্ট্রিং (''), নাকি সাধারণ মান তা সনাক্ত করা

MySQL-এ NULL এবং খালি স্ট্রিং '' ভিন্ন জিনিস। NULL = মান নেই, '' = খালি স্ট্রিং (length 0)। উভয় চেক করতে CASE WHEN ব্যবহার করা হয়।

সিনট্যাক্স

SELECT *, 
       CASE 
         WHEN yourColumn = '' THEN 'It is an empty string'
         WHEN yourColumn IS NULL THEN 'It is a NULL value'
         ELSE CONCAT(yourColumn, ' is a Name')
       END AS Status
FROM yourTableName;

উদাহরণ

টেবিল তৈরি

mysql> CREATE TABLE checkFieldDemo (
    -> Id INT NOT NULL AUTO_INCREMENT,
    -> Name VARCHAR(10),
    -> PRIMARY KEY(Id)
    -> );

ডেটা ইনসার্ট (NULL, '', এবং নাম)

mysql> INSERT INTO checkFieldDemo(Name) VALUES(NULL), ('John'), (NULL), (''), ('Carol'), (''), (NULL);

সকল রেকর্ড

mysql> SELECT * FROM checkFieldDemo;
+----+-------+
| Id | Name  |
+----+-------+
| 1  | NULL  |
| 2  | John  |
| 3  | NULL  |
| 4  |       |
| 5  | Carol |
| 6  |       |
| 7  | NULL  |
+----+-------+

CASE WHEN দিয়ে চেক

mysql> SELECT *, 
    -> CASE 
    ->   WHEN Name = '' THEN 'It is an empty string' 
    ->   WHEN Name IS NULL THEN 'It is a NULL value' 
    ->   ELSE CONCAT(Name, ' is a Name') 
    -> END AS ListOfValues 
    -> FROM checkFieldDemo;

ফলাফল

+----+-------+-----------------------+
| Id | Name  | ListOfValues          |
+----+-------+-----------------------+
| 1  | NULL  | It is a NULL value    |
| 2  | John  | John is a Name        |
| 3  | NULL  | It is a NULL value    |
| 4  |       | It is an empty string |
| 5  | Carol | Carol is a Name       |
| 6  |       | It is an empty string |
| 7  | NULL  | It is a NULL value    |
+----+-------+-----------------------+

গুরুত্বপূর্ণ: WHERE Name = NULL কখনো কাজ করে না। সবসময় IS NULL বা IS NOT NULL ব্যবহার করুন। খালি স্ট্রিং চেক করতে Name = '' বা LENGTH(Name) = 0 ব্যবহার করুন।

  1. MySQL-এ ব্ল্যাঙ্ক (খালি স্ট্রিং) কলাম ভ্যালুকে NULL হিসেবে বইল করা (UPDATE + TRIM/LENGTH)

  2. MySQL-এ IS NOT NULL দিয়ে কলামে NULL বা NOT NULL চেক করা

  3. MySQL-এ একটি ফিল্ড সিলেক্ট করুন, যদি NULL হয় তবে অন্যটি সিলেক্ট করুন

  4. MySQL 저장 프로시저에서 매개변수 NULL 또는 빈 문자열 체크하기