MySQL存储过程没有';行不通
为什么此语句返回MySQL存储过程没有';行不通,mysql,stored-procedures,Mysql,Stored Procedures,为什么此语句返回NULL DROP PROCEDURE IF EXISTS hr.Test; CREATE PROCEDURE hr.`Test` ( IN `empID` BIGINT(20) , IN untill date , IN `salaryType` INT(10) ) MODIFIES SQL DATA BEGIN select untill; END;
NULL
DROP PROCEDURE IF EXISTS hr.Test;
CREATE PROCEDURE hr.`Test`
(
IN `empID` BIGINT(20)
, IN untill date
, IN `salaryType` INT(10)
)
MODIFIES SQL DATA
BEGIN
select untill;
END;
call Test(2, '2014-01', 2);
这很奇怪,因为当我想返回
empID
或salaryType
的值时,它就工作了 因为'2014-01'
不是日期,'2014-01-01'
将是一个日期。您缺少日期的日期部分。原因很简单,因为'2014-01'
是无效日期,因此它返回null
。要证明这一点,请尝试下面的查询,它将返回null
select cast('2014-01' as date)
天哪,多么集中啊:),