MySQL में CONCAT() फंक्शन से स्ट्रिंग जोड़ें और IFNULL() से NULL मानों को डिफॉल्ट मान से बदलें।
सिंटैक्स
SELECT CONCAT('Prefix: ', IFNULL(yourColumnName, 'Default Value')) AS result_column
FROM yourTableName;
उदाहरण के साथ समझें
टेबल बनाएं:
CREATE TABLE ConcatValues (
Id INT NOT NULL AUTO_INCREMENT,
FirstName VARCHAR(20),
MiddleName VARCHAR(20),
LastName VARCHAR(20),
PRIMARY KEY(Id)
);
रिकॉर्ड डालें (MiddleName में NULL):
INSERT INTO ConcatValues(FirstName, MiddleName, LastName) VALUES('John', NULL, 'Smith');
INSERT INTO ConcatValues(FirstName, MiddleName, LastName) VALUES('Carol', NULL, 'Taylor');
INSERT INTO ConcatValues(FirstName, MiddleName, LastName) VALUES('David', NULL, 'Miller');
सभी रिकॉर्ड देखें:
SELECT * FROM ConcatValues;
आउटपुट:
+----+-----------+------------+----------+
| Id | FirstName | MiddleName | LastName |
+----+-----------+------------+----------+
| 1 | John | NULL | Smith |
| 2 | Carol | NULL | Taylor |
| 3 | David | NULL | Miller |
+----+-----------+------------+----------+
NULL हैंडल करते हुए कॉनकैटनेट करने का क्वेरी
SELECT CONCAT('The middle name is: ', IFNULL(MiddleName, 'Not Available')) AS MiddleName
FROM ConcatValues;
परिणाम:
+----------------------------------+
| MiddleName |
+----------------------------------+
| The middle name is: Not Available|
| The middle name is: Not Available|
| The middle name is: Not Available|
+----------------------------------+
COALESCE() का उपयोग (बेहतर विकल्प)
COALESCE() एकाधिक आर्गुमेंट लेता है और पहला नॉन-NULL मान लौटाता है:
SELECT CONCAT('Name: ', COALESCE(FirstName, ''), ' ', COALESCE(MiddleName, ''), ' ', COALESCE(LastName, ''))
AS FullName FROM ConcatValues;
पूरा नाम बनाने का उदाहरण
SELECT CONCAT(
COALESCE(FirstName, ''), ' ',
COALESCE(MiddleName, ''), ' ',
COALESCE(LastName, '')
) AS FullName FROM ConcatValues;
CONCAT_WS() का उपयोग (सेपरेटर के साथ)
CONCAT_WS() (With Separator) NULL मानों को स्वचालित रूप से छोड़ देता है:
SELECT CONCAT_WS(' ', FirstName, MiddleName, LastName) AS FullName FROM ConcatValues;
परिणाम: "John Smith", "Carol Taylor", "David Miller" (NULL को छोड़कर)
महत्वपूर्ण अंतर
| फंक्शन | व्यवहार |
|---|---|
CONCAT() | कोई भी आर्गुमेंट NULL हो तो परिणाम NULL |
CONCAT_WS() | NULL आर्गुमेंट को छोड़ देता है |
IFNULL(a,b) | 2 आर्गुमेंट: a NULL हो तो b |
COALESCE(a,b,c...) | कई आर्गुमेंट: पहला नॉन-NULL |