如何从MySQL中的函数返回布尔值?

问题描述:

我在表emp中有column acolumn b。我想从这些列中检索值,并通过函数找出它们之间的差异。该函数将返回true为0的差异,否则返回false。我不知道如何返回一个值。如何从MySQL中的函数返回布尔值?

另外,如何将检索到的值存储在变量中?

MySQL并没有真正的布尔值。 TRUEFALSE是别名到1和0,BOOL列类型只是TINYINT(1)的别名。出现给布尔结果所有表达式实际上将返回0或1

你可以写你的查询为:

SELECT (a = b) AS a_equals_b 
FROM emp 
WHERE ... 

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