[英]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.