MySQL:用户定义函数

标签 mysql database user-defined-functions

对于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 ;`

这是正确的方法吗?

最佳答案

您也可以使用 CASE 语句尝试这个:

CASE WHEN a IS NULL or a = ''
     then '2.0'
     else '3.0'
END 

关于MySQL:用户定义函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40370536/

相关文章:

来自连接的 MySQL 列计数

php - 包括来自单独文件的数据库连接

php - 选择查询未在 codeigniter 中执行?

sql - 外键减慢删除

斯卡拉 Spark UDF ClassCastException : WrappedArray$ofRef cannot be cast to [Lscala. Tuple2

mysql - Outfile 本地路径规范

mysql - 可以在数据库中存储两次值吗?

database - 嵌入式的 "best"数据库是什么?

r - 使用向量将多个 csv 文件读入到 r

mysql - 如何将数据库列作为用户定义函数中的参数传递?