函数的创建格式 非常类似于存储过程 函数 :function 存储过程:procedure ;mysql 数据库提供很多自带的函数,例如我们常用的sum() 求和 ,to_days() 日期转换 等,同样的mysql 提供了自定义函数,方便用户根据自身业务进行扩展。
1. 首先 还是 先创建 数据库 和相关 的表(这里我还是用之前创建 boox表 演示)
2. 创建函数,我们可以参考sum求和函数,写一个字符串拼接的函数
DROP FUNCTION IF EXISTS concat_str; -- 我们参考存储过程来写函数 先删除函数名为concat_str 的函数
DELIMITER// -- 同样的 设置分割符 默认“;” 可以参考我的另一篇文章 存储过程
CREATE FUNCTION concat_str(ids LONG) -- 创建带参的函数 concat_str
RETURNS VARCHAR(30) -- 设置返回值得类型
BEGIN -- 函数内容体 开始标志
DECLARE val VARCHAR(30) DEFAULT ''; -- 设一个空字符串 函数内部 申明变量的 标准语法 declare var_name[,...] type [DEFAULT value]
SET val=CONCAT("主键值为:",ids); -- concat(str,str2) mysql自带函数 拼接str+str2 并付给val
RETURN val; -- 最后要返回 val 得值
END// -- 函数结束
SELECT concat_str(id) , NAME,TIME FROM `boox` -- sql调用函数查询 看看效果如何