समस्या:
आप किसी तालिका के दो स्तंभों से एक में तार जोड़ना चाहते हैं।
उदाहरण:
हमारे डेटाबेस में student
निम्नलिखित कॉलम में डेटा के साथ:id
, first_name
और last_name
।
आईडी | <थ>प्रथम_नामlast_name | |
---|---|---|
1 | लोरा | स्मिथ |
2 | एमिल | भूरा |
3 | एलेक्स | जैक्सन |
4 | मार्टिन | डेविस |
आइए पहले नाम को एक स्ट्रिंग में छात्र के अंतिम नाम में जोड़ें। प्रत्येक नाम के बीच एक स्थान का प्रयोग करें।
समाधान:
SELECT first_name || ‘ ‘ || last_name AS full_name FROM student;
यह क्वेरी full_name
. नामक एक कॉलम में रिकॉर्ड लौटाती है :
full_name |
---|
लोरा स्मिथ |
एमिल ब्राउन |
एलेक्स जैक्सन |
मार्टिन डेविस |
चर्चा:
एक स्ट्रिंग को दूसरे में जोड़ने और एक परिणाम वापस करने के लिए, || . का उपयोग करें ऑपरेटर। यह बाएँ और दाएँ से दो तार जोड़ता है और एक परिणाम देता है। यदि आप कॉलम के नाम का उपयोग करते हैं, तो इसे उद्धरणों में संलग्न न करें। हालांकि, एक स्ट्रिंग मान को स्पेस या टेक्स्ट के रूप में उपयोग करते समय, इसे उद्धरणों में संलग्न करें।
हमारे उदाहरण में, हमने first_name
. में एक स्थान जोड़ा है और फिर कॉलम last_name
. इस नए कॉलम को full_name
. कहा जाता है .
आप एक विशेष फ़ंक्शन का भी उपयोग कर सकते हैं:CONCAT। तर्कों के रूप में शामिल होने के लिए स्ट्रिंग्स या कॉलम के नामों की सूची लेता है:
SELECT CONCAT(first_name, ‘ ‘, last_name) AS full_name FROM student;
परिणाम समान हैं।
हालाँकि, CONCAT () फ़ंक्शन NULL मान वाले कॉलम से डेटा पुनर्प्राप्त करने के लिए बेहतर है। क्यों? क्योंकि, जब शामिल होने वाले मानों में एक न्यूल शामिल होता है, तो ऑपरेटर परिणाम के रूप में न्यूल लौटाता है। CONCAT () के मामले में, NULL प्रदर्शित नहीं होगा।
|| . का परिणाम देखें ऑपरेटर अगर एमिल का उपनाम दर्ज नहीं है:
SELECT first_name || ‘ ‘ || last_name AS full_name FROM student;
full_name |
---|
लोरा स्मिथ |
NULL |
एलेक्स जैक्सन |
मार्टिन डेविस |
समान डेटा के लिए CONCAT फ़ंक्शन देखें:
SELECT CONCAT(first_name, ‘ ‘, last_name) AS full_name FROM student;
full_name |
---|
लोरा स्मिथ |
एमिल |
एलेक्स जैक्सन |
मार्टिन डेविस |