mysql函数中的if条件
如何使用三个不同的参数调用if函数。例如mysql函数中的if条件,mysql,join,Mysql,Join,如何使用三个不同的参数调用if函数。例如 `get_Eingehende_Anrufe_overall`('startdatum','Enddatum'), else `get_Eingehende_Anrufe_topic`(Campaign,'startdatum','Enddatum'), `get_Eingehende_Anrufe_teams`(id,'startdatum','Enddatum') 。。。如果您想在函数中使用它 DELIMITER // CREATE DEFIN
`get_Eingehende_Anrufe_overall`('startdatum','Enddatum'), else `get_Eingehende_Anrufe_topic`(Campaign,'startdatum','Enddatum'),
`get_Eingehende_Anrufe_teams`(id,'startdatum','Enddatum')
。。。如果您想在函数中使用它
DELIMITER //
CREATE DEFINER='root'@'localhost' FUNCTION get_Eingehende_Anrufe_all
(
cond INT(2),
id INT(4),
Startdatum Varchar(255),
Enddatum Varchar(255)
)
RETURNS int(15)
BEGIN
declare RETURNVAL integer(15);
IF (cond = 1) THEN
SET RETURNVAL = get_Eingehende_Anrufe_overall('Startdatum','Enddatum');
ELSEIF (cond = 2) THEN
SET RETURNVAL = get_Eingehende_Anrufe_topic(Campaign,'Startdatum','Enddatum');
ELSE
SET RETURNVAL = get_Eingehende_Anrufe_teams(id,'Startdatum','Enddatum');
END IF ;
RETURN RETURNVAL;
END//
DELIMITER ;
你能发布完整的查询吗?也许你是在问如何使用函数If?如果是这样,试试这个,这个函数有三个参数,你可以在过程之外的查询中使用它。您必须使用正确的用户名和主机名。若为本地数据库,则为“localhost”,否则必须输入数据库的用户ip地址。用户名也应该存在。
DELIMITER //
CREATE DEFINER='root'@'localhost' FUNCTION get_Eingehende_Anrufe_all
(
cond INT(2),
id INT(4),
Startdatum Varchar(255),
Enddatum Varchar(255)
)
RETURNS int(15)
BEGIN
declare RETURNVAL integer(15);
IF (cond = 1) THEN
SET RETURNVAL = get_Eingehende_Anrufe_overall('Startdatum','Enddatum');
ELSEIF (cond = 2) THEN
SET RETURNVAL = get_Eingehende_Anrufe_topic(Campaign,'Startdatum','Enddatum');
ELSE
SET RETURNVAL = get_Eingehende_Anrufe_teams(id,'Startdatum','Enddatum');
END IF ;
RETURN RETURNVAL;
END//
DELIMITER ;