4
我想选择*如果5大于2,如果为false选择一个特定的列。我哪里错了?MySQL中的IF和Case语句
SELECT IF(5>2, *, column_x),
CASE whereheard_name WHEN 'Newspaper' THEN 'a'
WHEN 'TV' THEN 'b'
WHEN 'Internet' THEN 'c'
ELSE '-'
END
AS result
FROM whereheard;
感谢您对上述问题的回答。下面是我使用下面的示例存储过程:
DELIMITER $$
USE `registration`$$
DROP PROCEDURE IF EXISTS `test2`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `test2`()
BEGIN
IF(5>2) THEN
SELECT * FROM whereheard;
ELSE
SELECT whereheard_name FROM whereheard;
END IF;
END$$
DELIMITER ;
这是我如何把它称为:
CALL test2(),
CASE whereheard_name WHEN 'Newspaper' THEN 'a'
WHEN 'TV' THEN 'b'
WHEN 'Internet' THEN 'c'
ELSE '-'
END
AS result
FROM whereheard;
我在哪里这个问题呢?
任何想法上哪里我出错了存储过程还是我怎么叫存储过程? – Tommy02