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

MySQL-এ CONCAT() ও IFNULL() ব্যবহার করে NULL বাদ দিয়ে স্ট্রিং ক্যাটেনেট করা

NULL মান থাকা কলামগুলোকে CONCAT() দিয়ে যোড় করলে পুরো ফলাফল NULL হয়। এটিকে এড়াতে IFNULL() বা COALESCE() ব্যবহার করে NULL-কে খালি স্ট্রিং-এ রূপান্তর করা হয়।

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

mysql> CREATE TABLE DemoTable802 (FirstName VARCHAR(100), LastName VARCHAR(100));
Query OK, 0 rows affected (1.01 sec)
mysql> INSERT INTO DemoTable802 VALUES ('Adam', 'Smith');
Query OK, 1 row affected (0.23 sec)
mysql> INSERT INTO DemoTable802 VALUES ('Carol', NULL);
Query OK, 1 row affected (0.15 sec)
mysql> INSERT INTO DemoTable802 VALUES (NULL, 'Taylor');
Query OK, 1 row affected (0.09 sec)
mysql> INSERT INTO DemoTable802 VALUES (NULL, NULL);
Query OK, 1 row affected (0.21 sec)

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

mysql> SELECT * FROM DemoTable802;

আউটপুট:

+-----------+----------+
| FirstName | LastName |
+-----------+----------+
| Adam      | Smith    |
| Carol     | NULL     |
| NULL      | Taylor   |
| NULL      | NULL     |
+-----------+----------+
4 rows in set (0.00 sec)

IFNULL দিয়ে NULL বাদ দিয়ে ক্যাটেনেট

mysql> SELECT CONCAT(IFNULL(FirstName, ''), ' ', IFNULL(LastName, '')) AS FULL_NAME 
FROM DemoTable802;

ফলাফল:

+------------+
| FULL_NAME  |
+------------+
| Adam Smith |
| Carol      |
|  Taylor    |
|            |
+------------+
4 rows in set (0.00 sec)

বेहতর পদ্ধতি: COALESCE()

COALESCE() একাধিক আর্গুমেন্ট নেয় এবং প্রথম নন-NULL মান রিটার্ন করে:

SELECT CONCAT(COALESCE(FirstName, ''), ' ', COALESCE(LastName, '')) AS FULL_NAME
FROM DemoTable802;

TRIM দিয়ে এক্সট্রা স্পেস মুছে ফেলা

SELECT TRIM(CONCAT(COALESCE(FirstName, ''), ' ', COALESCE(LastName, ''))) AS FULL_NAME
FROM DemoTable802;

এটি শুরু ও শেষের স্পেস মুছে দেবে (Carol-এ ট্রেইলিং স্পেস থাকবে না)।

  1. MySQL-এ তিনটি কলাম থেকে আলাদা মান বের করে একই কলামে প্রদর্শন করা

  2. MySQL CONCAT()으로 여러 컬럼 값을 텍스트와 합쳐 단일 컬럼으로 출력하기

  3. MySQL에서 IS NOT NULL로 NULL 제외하고 NOT NULL 값만 다른 테이블로 복사하기

  4. MySQL-এ IFNULL() দিয়ে NULL মানকে ১ এবং নন-নালকে ১ যোগ করে আপডেট করা