gpt4 book ai didi

MySQL基于if的where语句

转载 作者:行者123 更新时间:2023-11-29 01:09:46 25 4
gpt4 key购买 nike

您好,我正在根据以下逻辑创建 MySQL 语句。

Select * from content 
if(description=='educational')
where serial like '%EDU2015%'
else where serial like '%NOVEL2015%'

逻辑很简单,如果描述列是教育类的,过滤器应该有字符串“EDU2015”。否则,它应该用“NOVEL2015”的序列号过滤

我不确定我是否使用在 mysql 中使用 IF 语句的方式,但我不知道在哪里放置来自 https://dev.mysql.com/doc/refman/5.7/en/if.html 的 where 语句

最佳答案

您可以像这样使用 CASE 表达式:

SELECT * FROM content
WHERE serial like CASE WHEN description = 'educational'
THEN '%EDU2015%'
ELSE '%NOVEL2015%'
END

请注意,当您比较值时,需要一个等号而不是两个。

编辑:如果你想根据条件过滤不同的列,你可以使用这个:

SELECT * FROM content
WHERE (description = 'educational' and serial like '%EDU2015%')
OR(description <> 'educational' and id>100)

关于MySQL基于if的where语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35969219/

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