IF语句中的MYSQL SELECT

tur*_*ura 22 mysql sql if-statement

这是一个如此简单的问题,但我没有在任何地方找到答案2小时.

你如何使用MYSQL IF语句.无论我放入什么都行不通.在SQL Server中,这是一个5秒的工作.

是否需要在程序中?

你能在IF语句中使用SELECT吗?

这里对IF函数不太感兴趣.

谢谢你的帮助.

Sri*_*oud 14

如何IF在select中使用语句

select if(status>0, 'active', 'inactive') as status from users
Run Code Online (Sandbox Code Playgroud)

是的,你可以select在里面使用IF

例:

select if((select count(*) from versions) > (select count(*) from groups), true, false) as value
Run Code Online (Sandbox Code Playgroud)


Har*_*ish 5

您可以从同一查询中选择另一个字段,但可能不支持使用select查询,因为查询可以返回多个值,mysql不支持列中的行概念.

SELECT IF(`field1`>1,`field2`,`field3`) FROM TABLE1 WHERE 1
Run Code Online (Sandbox Code Playgroud)

这里field1,field2,field3是在同一个表中的字段

这对你有帮助吗?

  • 问题是关于[if语句](http://dev.mysql.com/doc/refman/5.5/en/if.html),而不是[IF函数](http://dev.mysql.com/ DOC/refman/5.5/EN /控制流-functions.html#function_if) (2认同)

Ben*_*oit 5

是否需要在程序中?

是的,您需要在程序中使用if语句.

你能在IF语句中使用SELECT吗?

是的你可以:

drop procedure if exists sp;

create procedure sp () begin
    if ((select 1 /*from whatever table would work*/)=1) then
        select 'it works';
    end if;
end;

call sp;

drop procedure sp;
Run Code Online (Sandbox Code Playgroud)


Nis*_*ant 2

你在找什么CASE WHENhttp://dev.mysql.com/doc/refman/5.0/en/case-statement.html

IF手册中已经存在http://dev.mysql.com/doc/refman/5.0/en/if-statement.html

我想@Nanne 链接更相关。只需将其添加到此处的链接列表即可。http://dev.mysql.com/doc/refman/5.0/en/control-flow-functions.html