2010-07-12 15 views
8

मेरे पास column a और column b तालिका emp में है। मैं उन कॉलम से मूल्यों को पुनर्प्राप्त करना चाहता हूं और फ़ंक्शन के साथ उनके बीच अंतर ढूंढना चाहता हूं। समारोह 0 अंतर के लिए वापस लौटाएगा अन्यथा झूठी लौटाएं। मुझे नहीं पता कि मूल्य कैसे वापस किया जाए।MySQL में किसी फ़ंक्शन से बूलियन मान कैसे वापस करें?

इसके अलावा, मैं एक चर में पुनर्प्राप्त मूल्यों को कैसे संग्रहीत करूं?

उत्तर

16

MySQL में वास्तव में बूलियन नहीं हैं। TRUE और FALSE उपनाम 1 और 0 के लिए हैं, और BOOL कॉलम प्रकार TINYINT(1) के लिए केवल एक उपनाम है। सभी भाव बूलियन परिणाम देने के लिए दिखाई देते हैं कि वास्तव में लौट 0 या 1.

आप के रूप में आपकी क्वेरी लिख सकते हैं:

SELECT (a = b) AS a_equals_b 
FROM emp 
WHERE ... 
9
select a, b, if(a-b=0, true, false) as diff from emp; 
+0

साफ। इसे एक प्रश्नोत्तरी के लिए कोशिश की और एक आकर्षण की तरह काम किया :) –

+0

+1 परिणाम वाक्यांश के लिए रास्ता देने के लिए, यह नहीं पता था कि "अगर" MySQL के लिए निर्देश –

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