2011-05-31 13 views
12

परिणाम में एक कॉलम में दिखाने के लिए एक चयन क्वेरी में 3 कॉलम को जोड़ने की कोशिश कर रहा हूं। कॉलम को DelPostalName कहा जाता है और किसी कारण से मैं हमेशा '0' दिखाता हूं जब मैं चयन क्वेरी चलाता हूं। जैसे तारों को जोड़ने की कोशिश कर रहा है लेकिन जोड़ने के लिए वास्तविक संख्या नहीं है। Ive googling स्ट्रिंग concatenation किया गया है और यह सही वाक्यविन्यास प्रतीत होता है। कोई विचार? mysql स्ट्रिंग concatenation रिटर्न 0

 
isc_orders.ordShipFirstName + ' ' + isc_orders.ordshiplastname + isc_orders.ordshipcompany as DelPostalName, 

उत्तर

27

परिणाम शून्य के रूप में दिखाई देता है क्योंकि आप अंकगणितीय रूप से तारों को एक दूसरे के साथ जोड़ने की कोशिश कर रहे हैं।

MySQL में तारों को संयोजित करने के लिए सही विधि CONCAT(str1, str2, str3) फ़ंक्शन का उपयोग कर रही है।

Here फ़ंक्शन के लिए मैनुअल है।

पुनश्च: यदि आप एक विभाजक उपयोग CONCAT_WS() साथ concate करना चाहते हैं - + :)

1

कॉलम/तारों को जोड़ने के लिए concat का उपयोग करने का प्रयास करें।

0

मुझे लगता है कि आप संयोजन के लिए concat का उपयोग करना चाहिए, न कि आप CONCAT का उपयोग करना चाहिए (एक के रूप में कुछ लोगों ने उल्लेख किया है) इस तरह:

CONCAT(isc_orders.ordShipFirstName,' ', 
isc_orders.ordshiplastname,' ', 
isc_orders.ordshipcompany) 
AS DelPostalName