Mysql 自定义函数示例

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

# 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;
原文地址:https://www.cnblogs.com/zhoutao825638/p/10382047.html