gpt4 book ai didi

mysql - mySQL 用户定义函数中 set 命令的正确语法是什么?

转载 作者:行者123 更新时间:2023-11-29 07:09:17 30 4
gpt4 key购买 nike

尝试在 mySQL 5.1 中创建函数时收到以下错误:

错误代码:1064
您的 SQL 语法有误;检查与您的 MySQL 服务器版本对应的手册,了解在第 25 行的 '' 附近使用的正确语法
(耗时 0 毫秒)

这是我的代码:

DELIMITER $$  

CREATE
FUNCTION removeMethodAndBackslash(input VARCHAR(40))
RETURNS VARCHAR(20)
BEGIN

DECLARE loginName VARCHAR(40);
SET loginName = input;

IF SUBSTRING(loginName,7) LIKE '\b%' THEN
SET loginName = 'b' + SUBSTRING(input,8);

ELSE IF SUBSTRING(loginName,7) LIKE '\n%' THEN
SET loginName = 'n' + SUBSTRING(input,8);

ELSE IF SUBSTRING(loginName,7) LIKE '\t%' THEN
SET loginName = 't' + SUBSTRING(input,8);

ELSE IF SUBSTRING(loginName,7) LIKE '\r%' THEN
SET loginName = 'r' + SUBSTRING(input,8);

ELSE
SET loginName = SUBSTRING(input,7);

RETURN loginName;

END $$

DELIMITER ;

我研究语法有一段时间了,我确信它是我忽略的一个非常小的细节。任何帮助将不胜感激。

最佳答案

试试这个 -

DELIMITER $$  

CREATE
FUNCTION removeMethodAndBackslash(input VARCHAR(40))
RETURNS VARCHAR(20)
BEGIN

DECLARE loginName VARCHAR(40);
SET loginName = input;

IF SUBSTRING(loginName,7) LIKE '\b%' THEN
SET loginName = 'b' + SUBSTRING(input,8);

ELSEIF SUBSTRING(loginName,7) LIKE '\n%' THEN
SET loginName = 'n' + SUBSTRING(input,8);

ELSEIF SUBSTRING(loginName,7) LIKE '\t%' THEN
SET loginName = 't' + SUBSTRING(input,8);

ELSEIF SUBSTRING(loginName,7) LIKE '\r%' THEN
SET loginName = 'r' + SUBSTRING(input,8);

ELSE
SET loginName = SUBSTRING(input,7);
END IF;

RETURN loginName;

END $$

DELIMITER ;

关于mysql - mySQL 用户定义函数中 set 命令的正确语法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5552711/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com