Mysql自定义功能

时间:2013-01-29 14:54:49

标签: mysql sql phpmyadmin sqlyog

有人可以解释为什么这不起作用?我在phpMyAdmin和SQLYog

中修改过的版本中尝试过它
CREATE FUNCTION `manageDate`(a VARCHAR(200),b DATETIME) RETURNS DATETIME
BEGIN
DECLARE datevar DATETIME;
IF (a REGEXP '[0-9]{1,2}/[0-9]{1,2}/[0-9]{2,4}') THEN 
SET datevar = STR_TO_DATE(SUBSTRING(TRIM(a),-8,8),'%d/%c/%y');
ELSE 
SET datevar = DATE_FORMAT(b,'%Y-%c-%d');
END IF;
RETURN datevar;
END

由于

安东尼

1 个答案:

答案 0 :(得分:0)

看起来你只是在DATETIME的DATE部分指定datevar

试试这个:

CREATE FUNCTION `manageDate`(a VARCHAR(200),b DATETIME) RETURNS DATETIME
BEGIN
DECLARE datevar DATETIME;
IF (a REGEXP '[0-9]{1,2}/[0-9]{1,2}/[0-9]{2,4}') THEN 
SET datevar = STR_TO_DATE(SUBSTRING(TRIM(a),-8,8),'%d/%c/%y');
ELSE 
SET datevar = DATE_FORMAT(b,'%Y-%c-%d %H:%i:%s');
END IF;
RETURN datevar;
END