2010-10-17 14 views
11

मेरे पास mysql तालिका में 2 कॉलम हैं: ए और बी। एक allways स्ट्रिंग मान है और बी कभी-कभी एक स्ट्रिंग मान होता है और कभी-कभी यह शून्य होता है।कॉलम मान का चयन करें यदि शून्य नहीं है तो अन्य कॉलम मान

एक MySQL चयन कैसे करें ताकि बी को लिया जाएगा यदि यह शून्य नहीं है और अन्यथा लिया जाएगा।

मुझे कोई सफलता के साथ concat के साथ है और अगर कुछ जादू चलाने के लिए ... तो ...

अद्यतन करने की कोशिश की - मेरे सवाल का विस्तार करने के लिए, वहाँ एक समारोह है कि Ifnull तरह काम करेंगे लेकिन अशक्त के लिए काम करेगा और है खाली मूल्य?

उत्तर

15

IFNULL(b, a) का उपयोग करें।

यदि expr1 शून्य नहीं है, IFNULL() expr1 देता है; अन्यथा यह expr2 देता है।

यह एक MySQL विशिष्ट फ़ंक्शन है। आप उसी तरह COALESCE का भी उपयोग कर सकते हैं। यह अधिक डेटाबेस में काम करेगा लेकिन आईएफएनयूएलएल की तुलना में MySQL में इसका थोड़ा खराब प्रदर्शन है।

+0

धन्यवाद। इतना आसान :-( – Jerry2

+0

क्षमा करें मुझे यह फ़ंक्शन mysqlf नहीं मिला। – Jerry2

2
IF(expr1,expr2,expr3) 

तो expr1 सही है (expr1 <> 0 और expr1 <> शून्य) तो IF() रिटर्न expr2; अन्यथा यह expr3 देता है।

संबंधित मुद्दे