首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >返回相同值的Mysql函数

返回相同值的Mysql函数
EN

Stack Overflow用户
提问于 2013-03-21 18:57:41
回答 1查看 126关注 0票数 0

我需要mysql函数,但每次都给出相同的值

这个mysql函数每次都会给我相同的值,即S_Start_ToBeStarted (第一个If的值)

代码语言:javascript
复制
-- colorA
DELIMITER $$
DROP FUNCTION IF EXISTS `colorA`$$
CREATE FUNCTION `colorA`( 
    Appf VARCHAR(3), 
    Start_Datef DATETIME, 
    PDCf DATETIME
    ) RETURNS INT
    DETERMINISTIC
BEGIN
DECLARE finalcolor INT DEFAULT 0;
IF Appf = 'Yes' & IFNULL(Start_Datef, 'NULL' = 'NULL' & sysdate() <= PDCf
    THEN SET finalcolor = (SELECT `PP_Colors`.`S_Start_ToBeStarted` FROM `SCR_Sap`.`PP_Colors` LIMIT 1);

ELSE IF Appf = 'Yes' & IFNULL(Start_Datef, 'NULL') = 'NULL' & sysdate() > PDCf
    THEN SET finalcolor = (SELECT `PP_Colors`.`S_Start_Error` FROM `SCR_Sap`.`PP_Colors` LIMIT 1);

ELSE IF Appf = 'Yes' & IFNULL(Start_Datef, 'NULL') != 'NULL' & sysdate() <= PDCf
    THEN SET finalcolor = (SELECT `PP_Colors`.`S_Start_Ok` FROM `SCR_Sap`.`PP_Colors` LIMIT 1);

ELSE IF Appf = 'Yes' & IFNULL(Start_Datef, 'NULL') != 'NULL' & sysdate() > PDCf
    THEN SET finalcolor = (SELECT `PP_Colors`.`S_Start_LateStarted` FROM `SCR_Sap`.`PP_Colors` LIMIT 1);

ELSE SET finalcolor = (SELECT `PP_Colors`.`S_NotApplicable` FROM `SCR_Sap`.`PP_Colors` LIMIT 1);

END IF;
END IF;
END IF;
END IF;
    RETURN finalcolor;
    END$$
DELIMITER ;
EN

回答 1

Stack Overflow用户

发布于 2013-03-21 19:07:51

Null不适用于=!=运算符,foobar=NULL的结果为NULL (未知),不是true或false。请改用IS NULLIS NOT NULL

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15545570

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档