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.