我的表中有一个BOOLEAN类型的列。当结果返回时,我想将0/1转换为Yes/No。
我在这个线程上找到了一个响应:Echo布尔字段为是/否或其他值
响应提到了IF THEN语句,但是当我尝试时,我只得到MySQL的一个语法错误的抱怨。下面是我使用的行:
IF qz.quiz_enabled == 1 THEN 'yes' ELSE 'no' AS enabled
错误如下:
use near 'qz.quiz_enabled == 1 THEN 'yes' ELSE 'no' AS enabled
select case when qz.quiz_enabled
then 'yes'
else 'no'
end
或
select if(qz.quiz_enabled, 'yes', 'no')
<<h2> SQLFiddle演示/h2> http://dev.mysql.com/doc/refman/5.0/en/if.html
BEGIN
DECLARE s VARCHAR(20);
IF n > m THEN SET s = '>';
ELSEIF n = m THEN SET s = '=';
ELSE SET s = '<';
END IF;
SET s = CONCAT(n, ' ', s, ' ', m);
RETURN s;
END