[英]Composite IF statement in mysql stored procedure
我有一个mysql存储过程,我想在其中编写一个复合If语句。 令a,b,c为变量,然后将按以下顺序执行。
IF (a AND c=0) OR (b AND c=0) OR (!a AND !b) THEN
execute the code....
上面的If语句无法正常工作。 声明中有任何问题吗? 我实际上想知道AND,OR运算符的优先级。
我想你要:
IF (a IS NOT NULL AND c=0) OR (b IS NOT NULL AND c=0) OR (a IS NOT NULL AND b IS NOT NULL) THEN
execute the code....
在SQL中, NULL
行为不像FALSE
; SQL使用三态逻辑,其中表达式可以为TRUE
, FALSE
或NULL
,并且所有与NULL
比较均为FALSE
。 请参阅文档使用NULL值 。
如果语句允许您根据条件执行一组SQL语句。 如果某些条件返回true,则执行语句,否则不执行。
阅读: MySQL存储过程中的IF语句
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.