gpt4 book ai didi

带 CASE 的 MySQL 例程 INSERT 语句

转载 作者:可可西里 更新时间:2023-11-01 07:11:10 27 4
gpt4 key购买 nike

MySQL 例程:

DELIMITER $$

CREATE DEFINER=`root`@`%` PROCEDURE `INSERT_Employee_Info`(
IN lname varchar(64),
IN fname varchar(64),
IN mname varchar(64)
)
BEGIN
INSERT INTO tbl_employee_info(lname, fname, mname)
VALUES(lname, fname, mname);
END

有时,值 lname、fname 和 mname 可能只包含非 null,我希望插入语句插入 NULL 而不是 '' 值。

我想到了以下几点,但我非常怀疑它是否会起作用:

INSERT INTO tbl_employee_info(lname, fname, mname)
VALUES(CASE lname WHEN '' THEN NULL ELSE lname END,
CASE fname WHEN '' THEN NULL ELSE fname END,
CASE mname WHEN '' THEN NULL ELSE mname END);

最佳答案

它会起作用,但你需要在 case 两边加上括号

INSERT INTO tbl_employee_info(lname, fname, mname)
VALUES
(
(CASE lname WHEN '' THEN NULL ELSE lname END),
(CASE fname WHEN '' THEN NULL ELSE fname END),
(CASE mname WHEN '' THEN NULL ELSE mname END)
);

关于带 CASE 的 MySQL 例程 INSERT 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13339960/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com