MySQL दो कॉलम को एक कॉलम में जोड़ती है


106

मैं दो स्तंभों को एक में संयोजित करने का एक तरीका खोजने की कोशिश कर रहा हूं, लेकिन शब्दों के संयोजन के बजाय स्तंभ में '0' प्राप्त करना जारी रखें।

ये वही हैं जो मैंने दूसरों के साथ आजमाए हैं:

SELECT column1 + column2 AS column3
FROM table;

SELECT column1 || column2 AS column3
FROM table;

SELECT column1 + ' ' + column2 AS column3
FROM table;

क्या कोई मुझे बता सकता है कि मैं क्या गलत कर रहा हूँ?


1
आप किस डेटाबेस का उपयोग कर रहे हैं? दो कॉलम के प्रकार क्या हैं?
गॉर्डन लिनोफ़



शीर्ष उत्तर के समाधान का उपयोग करें लेकिन एक पाइप जोड़ें। कोनैट (कॉलम 1, '|', कॉलम 2) का चयन करें। यह बाद में एक्सेल में मदद करता है
कॉस्मिक हॉक

जवाबों:


167

मेरा अनुमान है कि आप MySQL का उपयोग कर रहे हैं, जहाँ +संचालक इसके अलावा मूल्यों के मौन रूपांतरण के साथ-साथ जुड़ता है। यदि कोई मान एक अंक से शुरू नहीं होता है, तो परिवर्तित मूल्य है 0

तो यह प्रयास करें:

select concat(column1, column2)

एक स्थान जोड़ने के दो तरीके:

select concat(column1, ' ', column2)
select concat_ws(' ', column1, column2)

मैं उपयोग कर sql server 2005रहा हूं और यह मुझे त्रुटि दे रहा हैIncorrect syntax near ')'.
hud

5
@ कोडर। । । इस प्रश्न को "mysql" टैग किया गया है। यदि आपके पास SQL ​​सर्वर के बारे में कोई प्रश्न है, तो इसे एक प्रश्न के रूप में पूछें, टिप्पणी में नहीं।
गॉर्डन लिनोफ़

T-SQL के लिए भी काम करता है, उत्कृष्ट और सरल समाधान। एक में दो कॉलम कम करता है।
रयान बैटिस्टोन

23

यह कोशिश करो, यह मेरे लिए काम करता है

select (column1 || ' '|| column2) from table;

1
यह ओरेकल जैसा दिखता है।
कोबर्ने

इसने कई (2 से अधिक) स्तंभों के संयोजन के लिए भी काम किया। Thx
कायथिरी

SQL मानक CONCAT () फ़ंक्शन को एक स्ट्रिंग में दो तारों को जोड़ने के लिए प्रदान करता है। हालाँकि, SQLite, CONCAT () फ़ंक्शन का समर्थन नहीं करता है। इसके बजाय, यह दो तारों को एक में मिलाने के लिए कॉन्टेनेट ऑपरेटर (||) का उपयोग करता है।
पॉलएच


5

यह एकमात्र समाधान है जो मेरे लिए काम करेगा, जब मुझे विलय किए जा रहे स्तंभों के बीच एक स्थान की आवश्यकता होगी।

select concat(concat(column1,' '), column2)

3

MySQL के प्रशंसकों के लिए, मुझे IFNULL()समारोह पसंद है । यहां अन्य उत्तर ISNULL()कुछ कार्यान्वयन में फ़ंक्शन के साथ समान कार्यक्षमता का सुझाव देते हैं । मेरी स्थिति में, मेरे पास विवरणों का एक कॉलम है NOT NULL, और सीरियल नंबर का एक कॉलम है , जो NULLयह हो सकता है कि मैंने उन्हें एक कॉलम में कैसे जोड़ा है:

SELECT CONCAT(description,IFNULL(' SN: ', serial_number),'')) FROM my_table;

मेरे परिणामों से पता चलता है कि एक परिणाम में एक स्ट्रिंग को समवर्ती करने के NULLपरिणाम NULL। मुझे उन मामलों में वैकल्पिक मूल्य मिल रहा है।


3

यदि आप Oracleतब काम कर रहे हैं :

SELECT column1 || column2 AS column3
FROM table;

या

यदि आप MySql पर काम कर रहे हैं तो:

SELECT Concat(column1 ,column2) AS column3
FROM table;

1

मैंने इस तरह से और इसका हमेशा के लिए उपयोग किया है। इस कोड में नल भी संभाला

SELECT Title,
FirstName,
lastName, 
ISNULL(Title,'') + ' ' + ISNULL(FirstName,'') + ' ' + ISNULL(LastName,'') as FullName 
FROM Customer

इसे इस्तेमाल करे...



हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.