MySQL自定义函数简单用法示例
发表于:2025-01-22 作者:千家信息网编辑
千家信息网最后更新 2025年01月22日,本文实例讲述了MySQL自定义函数用法。分享给大家供大家参考,具体如下:先来一个简单的,创建一个函数将'2009-06-23 00:00:00'这样格式的datetime时间转化为'2009年6月23
千家信息网最后更新 2025年01月22日MySQL自定义函数简单用法示例
本文实例讲述了MySQL自定义函数用法。分享给大家供大家参考,具体如下:
先来一个简单的,创建一个函数将'2009-06-23 00:00:00'这样格式的datetime时间转化为'2009年6月23日0时0分0秒'这样的格式:
DELIMITER $$DROP FUNCTION IF EXISTS `sp_test`.`getdate`$$CREATE FUNCTION `sp_test`.`getdate`(gdate datetime) RETURNS varchar(255)BEGINDECLARE x VARCHAR(255) DEFAULT '';SET x= date_format(gdate,'%Y年%m月%d日%h时%i分%s秒');RETURN x;END $$DELIMITER ;
解析:
第一句是定义一个结束标识符,因为MySQL默认是以分号作为SQL语句的结束符的,而函数体内部要用到分号,所以会跟默认的SQL结束符发生冲突,所以需要先定义一个其他的符号作为SQL的结束符;
第二句是如果这个函数已经存在了,就删除掉,sp_test是数据库的名字,函数是跟数据库相关联的,getdate是函数的名字;
第三句是创建一个函数,()里是参数的名字和类型,RETURNS 定义这个函数返回值的类型;
函数体必须放在BEGIN END之间;
DECLARE 是定义函数体的变量,这里定义一个变量x,默认是空,然后SET给x变量赋值;
RETURN 是返回值,这里把变量x返回,x的类型必须与第三句中定义的返回类型一致。
调用:
SELECT getdate('2009-06-23 00:00:00');
返回 '2009年06月23日00时00分00秒'
分支结构
DELIMITER $$DROP FUNCTION IF EXISTS `sp_test`.`cutString` $$CREATE FUNCTION `sp_test`.`cutString`(s VARCHAR(255),n INT) RETURNS varchar(255)BEGINIF(ISNULL(s)) THEN RETURN '';ELSEIF CHAR_LENGTH(s)解析:
这是一个截取字符串的函数,参数有两个,一个是字符串s,一个是数字n,将字符串s保留前n位,如果字符串的个数小于n,则返回字符串s,如果大于n,则返回前n位后面加...。
调用:
SELECT cutString('abcdefghijklmnopqrstuvwxyz',5);返回 'abced...'
循环结构
DELIMITER $$DROP FUNCTION IF EXISTS `sp_test`.`morestar`$$CREATE FUNCTION `sp_test`.`morestar`(n INT) RETURNS textBEGINDECLARE i INT DEFAULT 0;DECLARE s TEXT DEFAULT '';myloop:LOOPSET i=i+1;SET s = CONCAT(s,'*');IF i > n THEN LEAVE myloop;END IF;END LOOP myloop;RETURN s;END $$DELIMITER ;解析:产生n个*。
调用:
SELECT morestar(5);返回 '*****'
更多关于MySQL相关内容感兴趣的读者可查看本站专题:《MySQL常用函数大汇总》、《MySQL日志操作技巧大全》、《MySQL事务操作技巧汇总》、《MySQL存储过程技巧大全》及《MySQL数据库锁相关技巧汇总》
希望本文所述对大家MySQL数据库计有所帮助。
函数
字符
字符串
变量
技巧
数据
数据库
类型
名字
结束符
分号
参数
大全
格式
结构
一致
专题
两个
个数
之间
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
阿里巴巴哪个服务器最好
易云游网络技术有限公司
谈谈网络安全的理解
查看服务器的raid信息
移动web软件开发
网络安全证书补贴杭州
深圳市科荣网络技术有限公司
淮北矿业集团网络安全培训
路由器入网络安全密钥
南沙专业网络安全服务
快手软件开发需要什么技术
软件开发人力外包公司排名
直播软件开发哪家有实力
常用的计算机网络安全工具和技术
大数据网络技术
软件开发项目归档基本要求
数据库表在哪个文件夹
微信第三方平台的服务器
网络安全装置项目
技术开放日数据库展板
数据库中表单设计是什么
ug电脑服务器名字
互联网得益于那一次科技革命
眉山网络安全工作现场会
更换服务器内存的目的是什么
昆山网络技术咨询
2020网络安全招聘
广州御途网络技术有限责任公司
灵活数据库设计方案
如何将代码放入服务器