DROP FUNCTION IF EXISTS shorten;
delimiter $$
CREATE FUNCTION shorten(s VARCHAR(255), n INT)
RETURNS VARCHAR(255)
BEGIN
IF ISNULL(s) THEN
RETURN '';
ELSE IF n<15 THEN
RETURN LEFT(s, n);
ELSE IF CHAR_LENGTH(s) <= n THEN
RETURN s;
ELSE
RETURN CONCAT(LEFT(s, n-10), ' ... ', RIGHT(s, 5));
END IF;
END$$
我得到的信息是:
#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取正确的语法,以便在第 14 行的 '' 附近使用 >
错误在哪里..因为我是在 mysql 中创建函数的新手。
更新 :
它指出了这些行之间带有一些圆形问号的错误:
ELSE IF n <15 THEN RETURN LEFT( s, n ) ;
ELSE IF CHAR_LENGTH( s ) <= n THEN RETURN s;
顺便说一句,我使用 phpmyadmin
mysql版本为:mysqlnd 5.0.10