【发布时间】:2011-04-05 13:35:55
【问题描述】:
尝试在 mySQL 5.1 中创建函数时收到以下错误:
Error Code : 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 25
(0 ms taken)
这是我的代码:
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 ;
我已经使用语法有一段时间了,我确信这是我忽略的一个非常小的细节。任何帮助将不胜感激。
【问题讨论】:
-
谢谢 manji...我是堆栈溢出的新手,我不知道如何阻止整个代码。
-
为了澄清,我认为错误与 set 语句有关。不过不确定。
-
别担心。你可以看这里:stackoverflow.com/editing-help进行markdown编辑。
-
突出显示一段代码并按 ctrl-K,或单击编辑器工具栏中的
{}按钮。 -
好的,我下次试试。谢谢大家。
标签: mysql function syntax user-defined-functions