1 頁 (共 1 頁)

[MySQL]If statement在stored procedure之外使用

發表於 : 2021年 4月 14日, 11:00
tim
一般來說, 在 IF-THEN 語法是在 stored procedcure 裡使用, 若是想在一般 query 裡使用, 得稍微調整一下, 例如:

代碼: 選擇全部

set @a = 1;
IF @a < 5 THEN
set @a = 5;
END IF
select @a;
在 stored procedure 外是無法執行的, 會有 #1064 語法錯誤的狀況.

可以調整如下:

代碼: 選擇全部

set @a = 1;
set @a = (select case when @a<5 then 5 else @a end);
select @a;
即可順利執行.

Reference: https://gist.github.com/jeremyjarrell/6083251
In MySQL, IF statements cannot exist outside of stored procedures.