Mysql在case语句中使用变量

Mysql在case语句中使用变量,mysql,case,Mysql,Case,尝试做一些非常简单的事情。 要运行一个SP来检查其中一个参数是否为null。如果是,则在日志表中存储空字符串,否则存储值 CREATE DEFINER=`root`@`localhost` PROCEDURE `SP_TestVariable`( Code1 varchar(255) , CodeToTest varchar(255) ) BEGIN CASE WHEN CodeToTest IS NULL THEN set @FinalCode = ' ' ELSE set

尝试做一些非常简单的事情。 要运行一个SP来检查其中一个参数是否为null。如果是,则在日志表中存储空字符串,否则存储值

CREATE DEFINER=`root`@`localhost` PROCEDURE `SP_TestVariable`(
Code1 varchar(255) ,
CodeToTest varchar(255)
)
BEGIN

CASE 
WHEN   CodeToTest IS NULL  THEN
 set @FinalCode = ' '

ELSE  
 set @FinalCode = CodeToTest 

end
-- Now do the insert into the log table
INSERT INTO `TempLogTable` ( strField1, strField2)
VALUES (Code1 , @FinalCode );

您可以将所有这些简化为一个简单的查询

INSERT INTO `TempLogTable` (strField1, strField2)
SELECT Code1, coalesce(CodeToTest, '')

为此,我甚至会放弃这个过程,而只使用查询。

。。。有什么问题吗?又快又简单。对我有用。我不知道这个功能。谢谢