2010-07-12 20 views
8

Tablo emp'da column a ve column b var. Bu sütunlardan değer almak ve aralarındaki farkı bir işlevle bulmak istiyorum. İşlevdeğerini 0 farkı için döndürür, aksi halde yanlış döndürür. Bir değeri nasıl iade edeceğimi bilmiyorum.MySQL'deki bir işlevden bir boole değeri nasıl geri dönülür?

Ayrıca, alınan değerleri bir değişkende nasıl kaydederim?

cevap

16

MySQL gerçekten boole sahip değil. TRUE ve FALSE, 1 ve 0 için diğer adlardır ve BOOL sütun türü, yalnızca TINYINT(1) için bir diğer addır. ,

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

Temiz. Bu bir sınav için çalıştı ve bir çekicilik gibi çalıştı :) –

+0

+1 sonucunu ifade etmek için bir yol vermek için, MySQL için "if" talimatı bilmiyordum –

İlgili konular