MySQL

2010-08-20 21 views
28

में 0 के साथ शून्य को बदलें, मुझे MySQL में किसी ऑपरेशन के परिणामों में NULL मान मिल रहे हैं।MySQL

NULL मानों को मूल्य 0 में बदलने का कोई तरीका है?

उत्तर

43

हाँ, का उपयोग करके COALESCE

SELECT COALESCE(null_column, 0) AS null_column FROM whatever;

COALESCE आपके द्वारा दिए गए मानों की सूची के माध्यम से जाता है, और पहला गैर-शून्य मान देता है।

+3

+1: 'COALESCE' एएनएसआई है, जो एसक्यूएल सर्वर 2000+, ओरेकल 9आई +, माइस्क्लुएल 4.1+ द्वारा समर्थित है, पोस्टग्रेएसक्यूएल या SQLite का संस्करण नहीं है ... –

+1

MySQL शीर्षक में उल्लिखित है। मैंने इसके लिए एक टैग जोड़ा। – RedFilter

+1

मुझे लगता है कि एक एसक्यूएल इंटरफेस के साथ हर 3 वीएल डीबी 'coalesce()' का समर्थन करता है। केस और पॉइंट, [यह MySQL 3.23 में था] (http://www.norrnod.se/norrnod/dokumentation/mysql/3.23.45/manual_toc.html#Comparison_Operators) जो बैरल के नीचे के करीब के करीब है आप प्राप्त कर सकते हैं। –

4

वहाँ COALESCE विधि है जो पहले गैर-शून्य पैरामीटर लौटने के लिए, आपके मामले में है:

COALESCE(field, 0) 

लेकिन आप इसका उपयोग कर सकते अगर आप चाहते हैं और अधिक:

COALESCE(field1, field2, 0) 
33

मैं इस सवाल का जवाब द्वारा जोड़ा जा रहा है क्योंकि कोई भी उल्लेख किया IFNULL समारोह

आप IFNULL

SELECT IFNULL(column_name, 0) FROM table_name; 

IFNULL अगर यह है का उपयोग स्तंभ का मान प्रदान करेगा कर सकते हैं (NULL के अलावा कुछ अन्य) अन्यथा दूसरा पैरामीटर पारित (इस मामले में 0)।

+0

धन्यवाद, mysql में सही रन। – iarroyo

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