MySQL में स्ट्रिंग संघनन


149

मैं MySQL और MySQL Workbench 5.2 CE का उपयोग कर रहा हूं। जब मैं 2 कॉलम को जोड़ने की कोशिश करता हूं, last_nameऔर first_name, यह काम नहीं करता है:

select first_name + last_name as "Name" from test.student

21
यह प्रश्न पूरी तरह से अनुसंधान के प्रयासों को दर्शाता है। अगली बार, Google को आपके प्रश्न पूछने से पहले आप उन्हें यहाँ पूछें।
— मैथियास लिकेगार्ड लोरेंजेन

5
मैं कोई शोध के प्रयासों के बारे में परवाह नहीं है, योग्य। इस प्रकार के प्रश्न के लिए गूगल में
— स्टैकओवरफ्लो

जवाबों:


271

MySQL अधिकांश डीबीएमएस के उपयोग के लिए +या समवर्ती के लिए अलग है ||। यह CONCATफ़ंक्शन का उपयोग करता है :

SELECT CONCAT(first_name, " ", last_name) AS Name FROM test.student

जैसा कि @eggyal ने टिप्पणियों में बताया है, आप SQL मोड ||सेट करके MySQL में ऑपरेटर के साथ स्ट्रिंग कॉन्फेंशन को सक्षम कर सकते हैं PIPES_AS_CONCAT।


7
बेहतर जवाब, बताते हैं कि MySQL संघनन ऑपरेटरों का उपयोग नहीं करता है।
— डॉनबेकर

28
खबरदार यह पूरी तरह से सच नहीं है: SQL मोड सक्षम होने पर MySQL स्ट्रिंग कॉन्फैनेटेशन के लिए समर्थन करता है। ||PIPES_AS_CONCAT
— अयंग्याल

1
उपयोग करने वालों के लिए Doctrine, मुझे अंतरिक्ष के लिए सिंगल कोट्स का उपयोग करना था CONCAT, और पूरे क्वेरी के आसपास दोहरे उद्धरण चिह्नों का उपयोग करना था ।
— craned

3
सेट करने के लिए PIPES_AS_CONCAT: SET @@SQL_MODE = CONCAT(@@SQL_MODE, ',PIPES_AS_CONCAT');। परेशान करने के लिए SET @@SQL_MODE = REPLACE(@@SQL_MODE, 'PIPES_AS_CONCAT', '');:। Mariadb.com/kb/en/library/sql-mode/#examples
— mivk

27

प्रयत्न:

select concat(first_name,last_name) as "Name" from test.student

या और अच्छा:

select concat(first_name," ",last_name) as "Name" from test.student


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