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

MySQL-এ দুটি কলামের মান সমান নয় এমন সারো সিলেক্ট করা (NULL হ্যান্ডলিংসহ)


MySQL-এ দুটি কলামের মান ভিন্ন (Not Equal) হলে সারো সিলেক্ট করা, NULL বিবেচনায়

দুটি কলামের মান সমান নয় এমন সারো খুঁজে বের করতে != বা <> অপারেটর ব্যবহার করা হয়। কিন্তু NULL এর সাথে তুলনা especiais — NULL != 5 হলো NULL (true/false নয়)। তাই IS NULL চেক যোগ করতে হয়।

সিনট্যাক্স

SELECT * FROM yourTableName 
WHERE col1 != col2 
   OR (col1 IS NULL AND col2 IS NOT NULL) 
   OR (col2 IS NULL AND col1 IS NOT NULL);

উদাহরণ

টেবিল তৈরি

mysql> CREATE TABLE selectTwoColumns (
    -> Id INT NOT NULL AUTO_INCREMENT,
    -> FirstNumber INT,
    -> SecondNumber INT,
    -> PRIMARY KEY(Id)
    -> );

ডেটা ইনসার্ট

mysql> INSERT INTO selectTwoColumns(FirstNumber, SecondNumber) VALUES(10, 20);
mysql> INSERT INTO selectTwoColumns(FirstNumber, SecondNumber) VALUES(30, 40);
mysql> INSERT INTO selectTwoColumns(FirstNumber, SecondNumber) VALUES(20, 20);
mysql> INSERT INTO selectTwoColumns(FirstNumber, SecondNumber) VALUES(50, 60);
mysql> INSERT INTO selectTwoColumns(FirstNumber, SecondNumber) VALUES(50, 50);
mysql> INSERT INTO selectTwoColumns(FirstNumber, SecondNumber) VALUES(70, NULL);

সকল রেকর্ড

mysql> SELECT * FROM selectTwoColumns;
+----+-------------+--------------+
| Id | FirstNumber | SecondNumber |
+----+-------------+--------------+
| 1  | 10          | 20           |
| 2  | 30          | 40           |
| 3  | 20          | 20           |
| 4  | 50          | 60           |
| 5  | 50          | 50           |
| 6  | 70          | NULL         |
+----+-------------+--------------+

কোয়েরি: মান ভিন্ন হলে (NULL হিসাবেও)

mysql> SELECT * FROM selectTwoColumns 
    -> WHERE FirstNumber != SecondNumber 
    ->    OR (FirstNumber IS NULL AND SecondNumber IS NOT NULL) 
    ->    OR (SecondNumber IS NULL AND FirstNumber IS NOT NULL);

ফলাফল

+----+-------------+--------------+
| Id | FirstNumber | SecondNumber |
+----+-------------+--------------+
| 1  | 10          | 20           |
| 2  | 30          | 40           |
| 4  | 50          | 60           |
| 6  | 70          | NULL         |
+----+-------------+--------------+

আইডি ৩ এবং ৫ বাদ পড়েছে (মান সমান)। আইডি ৬ এসেছে কারণ একটি NULL, অন্যটি নন-NULL।

  1. MySQL에서 NULL이 아닌 레코드만 조회하기 (IS NOT NULL)

  2. MySQL-এ IF() ফাংশন দিয়ে NOT NULL মান માટે ১ এবং NULL জন্য ০ দেখানো

  3. MySQL-এ WHERE IN ক্লজে NULL হ্যান্ডলিং

  4. C#-তে দুটি String অবজেক্টের একই মান আছে কিনা যাচাই করা Equals() দিয়ে