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$$
The message that I get is:
#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 14
>
Where is teh error..cause I am new to making function in mysql.
UPDATE :
It points to an error with some rounded question mark between those lines:
ELSE IF n <15 THEN RETURN LEFT( s, n ) ;
ELSE IF CHAR_LENGTH( s ) <= n THEN RETURN s;
BTW, I use phpmyadmin
mysql version is: mysqlnd 5.0.10
I am not sure bt i don’t understand why you close if (
END IF;) two times..?This may be a probable problem in your code. Please check it.And
ELSE IFshould be without space i.eELSEIF.The code should be: