MySQL if then/case 语句

发布于 2024-11-19 10:16:30 字数 314 浏览 8 评论 0原文

那里! 我正在 mySQl Front 4.1 中编写 mysql 脚本。
我对 if then、case 语句有疑问。

我有下一个代码:

set @prodID = -1;
select @prodID = productID
from partid_to_productid 
where PartID= 8;


case @prodID
 WHEN NULL then select 0;
 else select 3;
 end case

Front 不想执行它。为什么? 有人可以解释一下这里出了什么问题吗?

there!
I'm writing mysql script in mySQl Front 4.1.
I have problem with if then, case statements.

I have next code:

set @prodID = -1;
select @prodID = productID
from partid_to_productid 
where PartID= 8;


case @prodID
 WHEN NULL then select 0;
 else select 3;
 end case

Front doesn't want to execute it. Why?
Can someone explain me what is wrong here?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

小情绪 2024-11-26 10:16:30

SELECT 超出了 CASE

SELECT 
  CASE @prodID 
    WHEN NULL THEN 0
    ELSE 3
  END;

实际上,这并没有像我在测试时预期的那样返回 0。相反尝试:

SELECT CASE WHEN @prodID IS NULL THEN 0 ELSE 3 END;

The SELECT goes outside the CASE:

SELECT 
  CASE @prodID 
    WHEN NULL THEN 0
    ELSE 3
  END;

Actually, that's not returning 0 for me as I expect when testing. Instead try:

SELECT CASE WHEN @prodID IS NULL THEN 0 ELSE 3 END;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文