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

MySQL-এ CONCAT_WS ব্যবহার করে শর্তসাপেক্ষ রো সিলেক্ট করা

MySQL-এ একাধিক কলাম একসাথে কনক্যাটেনেট করে শর্তসাপেক্ষ রো সিলেক্ট করতে CONCAT_WS() ফাংশন ব্যবহার করা হয়।

সিনট্যাক্স

SELECT CONCAT_WS(separator, col1, col2, ...) FROM yourTable WHERE condition;

উদাহরণ

টেবিল তৈরি:

CREATE TABLE demo38 (
    user_id INT,
    user_first_name VARCHAR(20),
    user_last_name VARCHAR(20),
    user_date_of_birth DATE
);

ডেটা ইনসার্ট:

INSERT INTO demo38 VALUES (10, 'John', 'Smith', '1990-10-01');
INSERT INTO demo38 VALUES (11, 'David', 'Miller', '1994-01-21');
INSERT INTO demo38 VALUES (11, 'John', 'Doe', '1992-02-01');
INSERT INTO demo38 VALUES (12, 'Adam', 'Smith', '1996-11-11');
INSERT INTO demo38 VALUES (13, 'Chris', 'Brown', '1997-03-10');

টেবিলের ডেটা:

+---------+-----------------+----------------+--------------------+
| user_id | user_first_name | user_last_name | user_date_of_birth |
+---------+-----------------+----------------+--------------------+
| 10      | John            | Smith          | 1990-10-01         |
| 11      | David           | Miller         | 1994-01-21         |
| 11      | John            | Doe            | 1992-02-01         |
| 12      | Adam            | Smith          | 1996-11-11         |
| 13      | Chris           | Brown          | 1997-03-10         |
+---------+-----------------+----------------+--------------------+

কোয়েরি

user_id ১১ বা ১৩ হলে নাম, উপনাম এবং জন্ম বছরের স্ট্রিং তৈরি:

SELECT CONCAT_WS('/', user_first_name, user_last_name, 'the date of birth year is=', DATE_FORMAT(user_date_of_birth, '%Y')) AS Output
FROM demo38
WHERE user_id IN (11, 13);

আউটপুট

+----------------------------------------------+
| Output                                       |
+----------------------------------------------+
| David/Miller/the date of birth year is=/1994 |
| John/Doe/the date of birth year is=/1992     |
| Chris/Brown/the date of birth year is=/1997  |
+----------------------------------------------+

ব্যাখ্যা: CONCAT_WS('/' , ...) প্রথম আর্গুমেন্ট সেপারেটর হিসেবে ব্যবহার করে বাকি আর্গুমেন্টগুলো জড়িয়ে দেয়। NULL মান থাকলে সেটি বাদ দিয়ে যায় (সাধারণ CONCAT-এ NULL থাকলে পুরো রেজাল্ট NULL হয়)। DATE_FORMAT(date, '%Y') শুধু বছর বের করে।

  1. MySQL-এ স্পেস যুক্ত কলাম নাম সিলেক্ট করা (Backtick ব্যবহার)

  2. MySQL-এ শেষ ১০টি সারি কীভাবে বের করবেন?

  3. MySQL-এ সাবকোয়েরি ব্যবহার করে শেষ ৩টি রো এসেন্ডিং অর্ডারে পান

  4. MySQL-এ SELECT-এ IF() ফাংশন ব্যবহার করে শর্তভিত্তি আউটপুট দেওয়া