【发布时间】:2012-02-08 10:31:42
【问题描述】:
当我尝试创建具有相同名称但不同签名的存储函数时:
CREATE FUNCTION `max`(a INT, b INT) RETURNS INT
BEGIN
IF a > b THEN RETURN a; ELSE RETURN b; END IF;
END
CREATE FUNCTION `max`(a DATE, b DATE) RETURNS DATE
BEGIN
IF a > b THEN RETURN a; ELSE RETURN b; END IF;
END
MySQL 给我一个错误:
FUNCTION max 已经存在
我真的必须为max_tinyint、max_int、max_date、max_datetime 等函数命名吗?
如果我可以创建一个接受任意类型作为参数的函数,那就更容易了。
【问题讨论】:
-
尖刻的回答是 MySQL 已经有一个 MAX 函数......
-
终于成功了!?从何时起? (你不是指聚合函数,对吗?那是完全不同的事情。)
-
嗯,我说的是聚合函数,但它确实有一个最大的函数
-
@AndreKR:它总是有
GREATEST()/LEAST();-)
标签: mysql sql stored-procedures