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

MySQL-এ <> NULL এবং IS NOT NULL-এর পার্থক্য

MySQL-এ <> (নয়) অপারেটর NULL-এর সাথে কাজ করে না। NULL-এর সাথে যেকোনো তুলনা (শামিল <>) ফলাফল NULL (অনিশ্চিত) দেয়, `TRUE` বা `FALSE` নয়। সঠিক পদ্ধতি IS NOT NULL।

NULL-এর সাথে <> তুলনার ফলাফল

mysql> select 10 <> NULL; 
+------------+ 
| 10 <> NULL | 
+------------+ 
| NULL       | 
+------------+ 
1 row in set (0.00 sec)

mysql> select NULL <> NULL; 
+--------------+ 
| NULL <> NULL | 
+--------------+ 
| NULL         | 
+--------------+ 
1 row in set (0.00 sec)

mysql> select 'Chris' <> NULL; 
+-----------------+ 
| 'Chris' <> NULL | 
+-----------------+ 
| NULL            | 
+-----------------+ 
1 row in set (0.00 sec)

mysql> select '' <> NULL; 
+------------+ 
| '' <> NULL | 
+------------+ 
| NULL       | 
+------------+ 
1 row in set (0.00 sec)

সব ক্ষেত্রে ফলাফল NULL — কোনো রো সিলেক্ট হবে না।

টেবিল তৈরি এবং ডেটা ইনসার্ট

mysql> create table DemoTable846(Value int); 
Query OK, 0 rows affected (0.93 sec)
mysql> insert into DemoTable846 values(NULL); 
Query OK, 1 row affected (0.12 sec) 
mysql> insert into DemoTable846 values(10); 
Query OK, 1 row affected (0.11 sec)

সকল রেকর্ড দেখানো

mysql> select * from DemoTable846;
+-------+
| Value |
+-------+
| NULL  |
| 10    |
+-------+
2 rows in set (0.00 sec)

IS NOT NULL ব্যবহার (সঠিক)

mysql> select * from DemoTable846 where Value IS NOT NULL;
+-------+
| Value |
+-------+
| 10    |
+-------+
1 row in set (0.00 sec)

<> NULL ব্যবহার (ভুল - কোনো রো ফেরত দেবে না)

mysql> select * from DemoTable846 where Value <> NULL; 
Empty set (0.00 sec)

কেন <> NULL কাজ করে না?

  • SQL-এ NULL = "অজানা মান" বা "মান নেই"
  • অজানা মানের সাথে তুলনা = অজানা ফলাফল (NULL)
  • NULL = NULL → NULL (TRUE নয়)
  • NULL <> NULL → NULL (FALSE নয়)

সঠিক প্যাটার্ন

সারসংক্ষেপ: NULL চেকের জন্য সবসময় IS NULL / IS NOT NULL ব্যবহার করুন। =, <>, != NULL-এর সাথে কখনোই ব্যবহার করবেন না।

  1. MySQL-এ SHOW INDEX, SHOW INDEXES এবং SHOW KEYS-এর পার্থক্য

  2. MySQL-এ intvalue='1' এবং intvalue=1-এর পার্থক্য

  3. MySQL-এ != NULL এবং IS NOT NULL-এর পার্থক্য

  4. MySQL এবং PostgreSQL-এর পার্থক্য

কপিরাইট © https://bd.wsxdn.com সমস্ত অধিকার সংরক্ষিত
উদ্দেশ্যসঠিক সিনট্যাক্সভুল সিনট্যাক্স
NULL নয়WHERE col IS NOT NULLWHERE col <> NULL
NULL হ্যাঁWHERE col IS NULLWHERE col = NULL
NULL বা খালি স্ট্রিংWHERE col IS NULL OR col = ''WHERE col <> ''
COALESCE ব্যবহারWHERE COALESCE(col, '') <> ''-