9.MySQL自定义函数

自定义函数

自定义函数的两个必要条件

  • 参数
  • 返回值

创建自定义函数

CREATE FUNCTION function_name
RETURNS
{STRING|INTEGER|REAL|DECIMAL}
routine_body

函数体

函数

例子

SELECT DATE_FORMAT(NOW(), '%Y年%m月%d日 %H点:%i分:%s秒')

-- 将上述句子封装成函数
CREATE FUNCTION f1() RETURNS VARCHAR(30)
RETURN DATE_FORMAT(NOW(), '%Y年%m月%d日 %H点:%i分:%s秒');

-- 调用函数
SELECT f1();

带有参数的自定义函数

-- 带有参数的函数
CREATE FUNCTION f2(num1 SMALLINT UNSIGNED, num2 SMALLINT UNSIGNED)
RETURNS FLOAT(10,2) UNSIGNED
RETURN (num1+num2)/2;

-- 调用函数
SELECT f2(1,2);

删除函数

DROP FUNCTION f2;

复合结构体的函数

-- 将语句结束符改为$$,为了防止下面的函数将;看成是语句的结束
DELIMITER $$

CREATE FUNCTION adduser(username VARCHAR(20))
RETURNS INT UNSIGNED
RETURN
BEGIN
INSERT INTO table_1(username) VALUES(username);
LAST_INSERT_ID();
END;

-- 将分隔符改回来
DELIMITER ;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,796评论 19 139
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 8,560评论 0 4
  • 结婚几年以后,我才慢慢发现一些谈恋爱时没注意到的规律。 我的结婚对象L先生,婚后几乎从不曾跟我正面冲突,但凡有口角...
    琴鸣阅读 5,493评论 0 3
  • 1 地铁呼啸着停下,末班列车像整装待发的罐头鱼,明明再也容不下一丝缝隙,却总还有人拼了命的往里挤。 “别推了……啊...
    宋月白阅读 3,180评论 1 3
  • 最近身边一些30岁左右的朋友,有了新的困惑,关于是否应该换工作去异地城市的问题。 这些朋友中,要么在北京买了房,要...
    职场木沐说阅读 7,484评论 6 8