用mysql函数返回字符串的正确语法是什么?

qyswt5oh  于 2021-06-15  发布在  Mysql
关注(0)|答案(1)|浏览(425)

我按照类材料中提供的示例创建了一个返回count的函数。现在,我尝试创建一个函数来获取用户的全名,其原理与创建count函数的原理相同,但我不断遇到以下错误:
1064-您的sql语法有错误;请检查与您的mariadb服务器版本相对应的手册,以获取第4行“”附近要使用的正确语法

CREATE FUNCTION getAuthorFullName (authorID INT)
RETURNS CHAR(45)
BEGIN
DECLARE author CHAR(45);
SELECT CONCAT(first, ' ',last) FROM person as fullName
JOIN user ON user.idPerson = fullName.idPerson
WHERE idUser LIKE authorID
INTO author;
RETURN author;

我自己检查了select查询,当我手动传递authors id时,它会检索到正确的作者全名,所以我只需要让它在一个函数中工作,在这个函数中我可以简单地传递作者的id。

balp4ylt

balp4ylt1#

INTO 追求价值。
如果iduser是整数,也可以使用 = 接线员。 LIKE 字符串的id

SELECT CONCAT(first, ' ',last) INTO author
FROM person as fullName
JOIN user ON user.idPerson = fullName.idPerson
WHERE idUser = authorID
;

下面是一个sql演示

DROP FUNCTION IF EXISTS getAuthorFullName;

CREATE FUNCTION getAuthorFullName (authorID INT)
RETURNS CHAR(45)
BEGIN
DECLARE author CHAR(45) ;
SELECT CONCAT('first', ' ','last' ) INTO author;
RETURN author;
END;

SELECT getAuthorFullName(1);

相关问题