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

MySQL-এ একাধিক NULL ভ্যালুযুক্ত কলামে DISTINCT ক্লজ ব্যবহার করলে কী রিটার্ন করে?


একাধিক NULL ভ্যালুযুক্ত কলামে DISTINCT ক্লজ ব্যবহার করলে MySQL সব NULL ভ্যালুকে একই বলে মনে করে।

অর্থাৎ DISTINCT ক্লজের বৈশিষ্ট्यानুসারে MySQL ফলাফলে শুধু একটি NULL ভ্যালু রিটার্ন করে এবং বাকিগুলো বাদ দেয়। নিচের উদাহরণে 'testing' নামক টেবিলের 'Lname' কলামে একাধিক NULL ভ্যালু আছে:

mysql> Select * from testing; 
+------+---------+---------+
| id   | fname   | Lname   |
+------+---------+---------+
|  200 | Raman   | Kumar   |
|  201 | Sahil   | Bhalla  |
|  202 | Gaurav  | NULL    |
|  203 | Aarav   | NULL    |
|  204 | Harshit | Khurana |
|  205 | Rahul   | NULL    |
|  206 | Piyush  | Kohli   |
|  207 | Lovkesh | NULL    |
+-----+---------+----------+
8 rows in set (0.00 sec)
mysql> SELECT DISTINCT Lname from testing; 
+---------+
| Lname   |
+---------+
| Kumar   |
| Bhalla  |
| NULL    |
| Khurana |
| Kohli   |
+---------+
5 rows in set (0.00 sec)

উপরের কোয়েরিতে 'Lname' কলামে চারটি NULL থাকা সত্ত্বেও DISTINCT ক্লজ ব্যবহার করলে MySQL শুধু একটি NULL রিটার্ন করেছে এবং বাকিগুলো বাদ দিয়েছে।


  1. MySQL-এ ZEROFILL দিয়ে কলাম ভ্যালুতে লিডিং জিরো প্যাড করা

  2. MySQL-এ TRIM এবং COALESCE দিয়ে হোয়াইটস্পেস/NULL ফার্স্টনেমवाले রেকর্ড বের করা

  3. MySQL LIKE ক্লজ ব্যবহার করে "Joh" দিয়ে শুরু হওয়া একাধিক মান বের করা

  4. MySQL-এ WHERE ক্লজে একাধিক শর্ত দিয়ে আপডেট করা