mysql函数

66 阅读1分钟

这里指的是自定义函数,不是mysql中的内置函数

DELIMITER $$
DROP FUNCTION IF EXISTS genPerson$$
CREATE FUNCTION genPerson(NAME VARCHAR(20)CHARSET utf8) RETURNS VARCHAR(50) CHARSET utf8
BEGIN
  DECLARE str VARCHAR(50) CHARSET utf8 DEFAULT '';
  SET @tableName=NAME;
  SET str=CONCAT('你好',@tableName);
  RETURN str;
END $$
DELIMITER ;


SELECT genPerson('马云')

1)DELIMITER $$ 定义结束符。MySQL默认的结束符是分号,但是函数体中可能用到分号。为了避免冲突,需要另外定义结束符。

(2)DROP FUNCTION IF EXISTS genPerson$$ 如果函数genPerson已经存在了,就删除掉。

(3)CREATE FUNCTION 创建函数genPerson,函数的参数是name,返回值是varchar(50)。

(4)函数体放在BEGIN 与 END之间。

(5)DECLARE 声明变量,str类型是varchar(50),默认值是空。CHARSET utf8 设置格式,否则中文乱码

(6)CONCAT连接多个字符串。

(7)RETURN 返回拼接后的字符串str。

附上执行结果

image.png

本文转自 jimolvxing.blog.csdn.net/article/det…,如有侵权,请联系删除。