MYSQL:错误1305(42000):功能[db] .LEN不存在

时间:2019-06-25 03:16:15

标签: mysql sql function mariadb

我已经成功创建了一个函数,但是无法运行它。

这是我的InitCap(InputString)函数,该函数已成功创建并添加到我的数据库中:

DELIMITER //

drop function InitCap;

CREATE FUNCTION InitCap(InputString varchar(4000)) RETURNS VARCHAR(4000) DETERMINISTIC

BEGIN

    DECLARE  OutputString          VARCHAR(255);
    DECLARE  Index1                INT;
    DECLARE  Char1, PrevChar1      CHAR(1);

    SET OutputString = LOWER(InputString), Index1 = 1;

    WHILE Index1 <= LEN(InputString) DO

        SET Char1     = SUBSTRING(InputString, Index1, 1),
            PrevChar1 = CASE WHEN Index1 = 1 THEN ' '
                                 ELSE SUBSTRING(InputString, Index1 - 1, 1) end;

        IF PrevChar1 IN (' ', ';', ':', '!', '?', ',', '.', '_', '-', '/', '&', '''', '(') THEN

            BEGIN
                IF PrevChar1 != '''' OR UPPER(Char1) != 'S' THEN
                    SET OutputString = STUFF(OutputString, Index1, 1, UPPER(Char1));
                END IF;
            END
            ;

        END IF;

    SET Index1 = Index1 + 1;

    END WHILE;

    RETURN OutputString;

END  //

DELIMITER ;

我尝试运行以下内容:

  

从表中选择InitCap(string_variable);

但不断获得

  

错误1305(42000):功能[db] .LEN不存在

0 个答案:

没有答案
相关问题