为什么此语句会返回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
的值时,它会起作用!
答案 0 :(得分:0)
由于'2014-01'
不是日期,'2014-01-01'
将是一个。您缺少日期的日期部分。
答案 1 :(得分:0)
原因很简单,因为'2014-01'
是无效日期,因此会返回null
。要证明尝试以下查询,它将返回null
select cast('2014-01' as date)