尝试在MySQL函数中使用IF语句时出错

尝试在MySQL函数中使用IF语句时出错,mysql,if-statement,Mysql,If Statement,我正在尝试创建一个MySQL函数,但在尝试创建时遇到了一个错误。我不知道我做错了什么。我读到这可能是因为我没有添加“如果结束”,但我正在这样做。这和“返回1”有关吗 代码如下: CREATE FUNCTION esParaCierreSTE(cola VARCHAR(200)) RETURNS BOOLEAN BEGIN IF cola like "Diseño red - Corporativo - DISEÑO CORPORATIVO FIN DE REFORMA DE RE

我正在尝试创建一个MySQL函数,但在尝试创建时遇到了一个错误。我不知道我做错了什么。我读到这可能是因为我没有添加“如果结束”,但我正在这样做。这和“返回1”有关吗

代码如下:

CREATE FUNCTION esParaCierreSTE(cola VARCHAR(200))
RETURNS BOOLEAN
BEGIN
        IF cola like "Diseño red - Corporativo - DISEÑO CORPORATIVO FIN DE REFORMA DE RED (ACTUALIZACIÓN DE PLANO DE TODAS LAS REFORMAS DE HATCH)%" THEN
            RETURN 1;
        END IF;
        IF cola like "Diseño red - Edificios - DISEÑO EDIFICIOS FIN DE REFORMA DE RED (ACTUALIZACIÓN DE PLANO DE TODAS LAS REFORMAS DE EDIFICIOS)%" THEN
            RETURN 1;
        END IF;
        IF cola like "Diseño red - Instalaciones - DISEÑO INSTALACIONES FIN DE REFORMA DE RED (ACTUALIZACIÓN DE PLANO DE TODAS LAS REFORMAS DE INSTALACIONES)%" THEN
            RETURN 1;
        END IF;
        IF cola like "Diseño red - Zona Fuera de Nodo - DISEÑO ZONA NO HABILITADA FIN DE REFORMA DE RED (ACTUALIZACIÓN DE TODAS LAS REFORMAS DE ZONA NO HABILITADA)%" THEN
            RETURN 1;
        END IF;
        IF cola like "Diseño red - Tickets para Cierre (Fin de reforma)%" THEN
            RETURN 1;
        END IF;

        RETURN 0;
END;
顺便说一下,这就是错误:

错误代码:1064。您的SQL语法有错误;检查 与右侧的MariaDB服务器版本相对应的手册 在第5行的“”附近使用的语法


多谢各位

您的代码看起来不错,因此可能存在分隔符问题,无法正确编译函数

创建过程或函数时,必须更改默认分隔符“
”,以便编译器知道函数中的分隔符与CREATE语句本身结尾之间的区别

完成后,您将返回默认分隔符

其中:

 delimiter //

CREATE FUNCTION esParaCierreSTE(cola VARCHAR(200))
RETURNS BOOLEAN
BEGIN
        IF cola like "Diseño red - Corporativo - DISEÑO CORPORATIVO FIN DE REFORMA DE RED (ACTUALIZACIÓN DE PLANO DE TODAS LAS REFORMAS DE HATCH)%" THEN
            RETURN 1;
        END IF;
        IF cola like "Diseño red - Edificios - DISEÑO EDIFICIOS FIN DE REFORMA DE RED (ACTUALIZACIÓN DE PLANO DE TODAS LAS REFORMAS DE EDIFICIOS)%" THEN
            RETURN 1;
        END IF;
        IF cola like "Diseño red - Instalaciones - DISEÑO INSTALACIONES FIN DE REFORMA DE RED (ACTUALIZACIÓN DE PLANO DE TODAS LAS REFORMAS DE INSTALACIONES)%" THEN
            RETURN 1;
        END IF;
        IF cola like "Diseño red - Zona Fuera de Nodo - DISEÑO ZONA NO HABILITADA FIN DE REFORMA DE RED (ACTUALIZACIÓN DE TODAS LAS REFORMAS DE ZONA NO HABILITADA)%" THEN
            RETURN 1;
        END IF;
        IF cola like "Diseño red - Tickets para Cierre (Fin de reforma)%" THEN
            RETURN 1;
        END IF;

        RETURN 0;
END //

delimiter ;

非常感谢。这是:)我会记住这一点,这是我第一次在MySQL中使用函数,而且您编写的代码没有错误,所以这是一个很好的开始;)