建定义函数的的基本语法如下
-- DELIMITER是用来设置边界符的
DELIMITER //
CREATE FUNCTION 函数名(形参列表)
RETURNS 返回类型
begin
-- 函数体
RETURN
END //
DELIMITER ;
创建日期时间格式化函数
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;
创建日期格式化函数
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;
创建时间格式化函数
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;
生成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;