2010-07-12 64 views
8

我在表emp中有column acolumn b。我想從這些列中檢索值,並通過函數找出它們之間的差異。該函數將返回true爲0的差異,否則返回false。我不知道如何返回一個值。如何從MySQL中的函數返回布爾值?

另外,如何將檢索到的值存儲在變量中?

回答

16

MySQL並沒有真正的布爾值。 TRUEFALSE是別名到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

整潔。試了這個測驗,並像一個魅力工作:) – 2012-09-09 20:31:48

+0

+1給出了一種方式來結果短語,不知道「if」指令的MySQL – 2013-11-13 12:35:28