请问mysql中的时间函数DATE_ADD()的返回值是什么啊?
自己写了一个函数调用到DATE_ADD(),但返回值为(NULL)。
烦恼N久,求大神解救啊~~~~~~
CREATE DEFINER=`root`@`localhost` FUNCTION `allocateRooms`() RETURNS YEAR
BEGIN
        DECLARE d YEAR;
SELECT lesson_t.year INTO @year1 FROM lesson_t WHERE courNO = 1;
SELECT DATE_ADD(@year1,INTERVAL 3 YEAR) INTO d;
RETURN d;
    END$$DELIMITER ;PS:select d := DATE_ADD(@year1,INTERVAL 3 YEAR);
    set d:= DATE_ADD(@year1,INTERVAL 3 YEAR);
都试过了,但还是为空。MySQLselect函数时间函数

解决方案 »

  1.   

    DATE_ADD(date,INTERVAL expr type)
    第一个参数要为date类型。你确定lesson_t.year 为date类型吗?
    且声明的参数也是date?
      

  2.   

    同问,别告诉我们 lesson_t.year 是2013这样的内容。
    如果这样,也别脱裤子放屁了,直接 lesson_t.year + 3,否则日期型,或者符合日期格式的字符串都可以
      

  3.   

    被说中了……
    我看了DATE_ADD(date,INTERVAL expr type),以为前面的date跟后面的type是可以同类型的……