Mysql 自定义函数示例

时间:2022-02-27 12:17:16

创建定义函数的的基本语法如下

# DELIMITER是用来设置边界符的
DELIMITER //
CREATE FUNCTION 函数名(形参列表)
RETURNS 返回类型
begin
# 函数体
RETURN
END //
DELIMITER ;

1、创建日期时间格式化函数

DROP FUNCTION IF EXISTS `FORMAT_DATE_TIME`;
CREATE FUNCTION FORMAT_DATE_TIME(`datetimes` DATETIME)
RETURNS VARCHAR(100)
RETURN DATE_FORMAT(`datetimes`,'%Y年%m月%s日 %H时%i分%s秒');
# 测试示例
SELECT FORMAT_DATE_TIME(create_time) FROM auge_menu;

2、创建日期格式化函数

DROP FUNCTION IF EXISTS `FORMAT_DATE`;
CREATE FUNCTION FORMAT_DATE(`datetimes` DATETIME)
RETURNS VARCHAR(100)
RETURN DATE_FORMAT(`datetimes`,'%Y年%m月%s日');
#测试示例
SELECT FORMAT_DATE(create_time) FROM auge_menu;

3、创建时间格式化函数

DROP FUNCTION IF EXISTS `FORMAT_TIME`;
CREATE FUNCTION FORMAT_TIME(`datetimes` DATETIME)
RETURNS VARCHAR(100)
RETURN DATE_FORMAT(`datetimes`,'%H时%i分%s秒');
#测试示例
SELECT FORMAT_TIME(create_time) FROM auge_menu;

4、生成32位UUID

#创建生成UUID函数,常常用于不重复生成UUID,适用于JAVA
DROP FUNCTION IF EXISTS `GET_UUID`;
CREATE FUNCTION GET_UUID()
RETURNS VARCHAR(100)
RETURN REPLACE(UUID(),'-',''); # 测试示例
SELECT GET_UUID() FROM auge_menu;
SELECT GET_UUID() as id,path FROM auge_menu;