【发布时间】:2016-11-02 00:11:51
【问题描述】:
对于MYSQL中的用户自定义函数,
我将一个参数传递给udf(一个int);
如果 a 为 NULL,则返回 2.0; 否则返回 3.0
`DELIMITER !
CREATE FUNCTION return val(a INTEGER) RETURNS NUMERIC(10,2)
BEGIN
If (isNULL(a)) THEN return 2.0
ELSE RETURN 3.0;
END IF;
END!
DELIMITER ;`
这是正确的做法吗?
【问题讨论】:
-
是的,显然,没有函数调用
isNull,那么我如何判断a是否为NULL -
那我改成
if (SELECT a IS NULL) THEN RETURN 2.0 -
用 ifNull 替换 isNull 怎么样?
-
@RyanVincent,感谢您的意见
-
@bogzy,你的意思是
IF ( IFNULL(a, 0)) THEN ....?
标签: mysql database user-defined-functions