无法创建功能。有人可以帮我吗?

时间:2013-11-30 09:53:13

标签: mysql function

任何人都可以提供帮助,我的功能在某个地方有错误,但我找不到它?

示例输出应该像

a_testbed.PrevMonth('2012-05-19', 6)
returns '2011-11'

我收到错误:

  

1292(22007)截断日期值:'2011-11',列为return_date at   第1行:

CREATE function prevmonth(in_date DATE, in_mn_count INT) 
returns DATE 
BEGIN 
  DECLARE return_date DATE; 

  IF in_date IS NULL THEN 
    SET return_date= date_format(date_add (curdate(), INTERVAL(in_mn_count-12) month), 'Y-%m'); 
  ELSE 
    SET return_date= date_format(date_add (in_date, INTERVAL (in_mn_count-12) month), '%Y-%m'); 
  END IF; 

  RETURN return_date; 
END; #

1 个答案:

答案 0 :(得分:0)

发生错误是因为您声明您的函数将返回date,并且'2011-11'无法转换为date

您应该将函数声明中的第二行更改为returns varchar