-
mysql> delimiter //
mysql> create procedure testifelse> p_val int
beginif (p_val = 1) then> select '1' as a;
elseif (p_val = 2) then> select '2' as a;
else select 'other' as a;
end if;
end//query ok, 0 rows affected ( sec)mysql> call testifelse(1);
a |1 row in set ( sec)
query ok, 0 rows affected ( sec)mysql> call testifelse(2);
a |1 row in set ( sec)
query ok, 0 rows affected ( sec)mysql> call testifelse(3);
a |other |
1 row in set ( sec)
query ok, 0 rows affected ( sec)mysql>
否則似乎沒有那麼那裡。
-
從來沒見過這種用mysql寫的語句,是不是房東弄錯了。
-
在 mysql 中,變數不需要新增 @ 符號。
mysql> delimiter //
mysql> create procedure testifelse> p_val int
如果 (p val = 1) 開始待機>然後選擇'1' as a;
Dust Roll ->elseif (p val = 2) 然後>選擇'2' as a;
else select 'other' as a;
end if;
end//query ok, 0 rows affected ( sec)mysql> call testifelse(1);
a |1 row in set ( sec)
query ok, 0 rows affected ( sec)mysql> call testifelse(2);
Pai 悄悄地 - >
a |1 row in set ( sec)
query ok, 0 rows affected ( sec)mysql> call testifelse(3);
a |other |
1 row in set ( sec)
query ok, 0 rows affected ( sec)mysql>
-
顯然判斷條件是錯誤的,=等號是賦值運算子,==是比較運算子,使用if判斷時應該是if(1==1),這是很多新手容易犯錯誤的地方。
-
刪除 if 語句中的括號!! MySQL是單等號,沒錯,別被樓上迷惑了!
-
MySQL的流控語句不能這麼乾巴巴地用,你必須把它放在乙個儲存過程觸發函式中。 驚喜不驚喜 驚喜不驚喜。
-
如果它是儲存過程:
insert into 後應跟 ;
如果是 SQL 語句,if 的用法完全不是這樣的:
示例:select if(2>0,"正確","錯") from tab1;
insert into tab1 values( if(2>0,'aaaa','bbbb'));
-
如果 tab1 中有多個字段,則選項卡 1 後應跟要插入值的字段的名稱。
if(2>0) then
insert into tab1() values('aaaa');
-
此功能 pos with substring 從字串 str 的起始位置返回乙個子字串。
例如:select substring('二次型',5);
獲取'ratically“
同:可以對查詢方式進行二次型別修改,記得新增()選擇子字串(((選擇表名的欄位名),5);
注意:您的支票必須是一串字詞。
-
if(expr1,expr2,expr3)如果 expr1 為 true(expr1 <>0 和 expr1 <>null),則 if() 返回 expr2; 否則,返回值為數值或字串值,具體取決於上下文。
示例:select *, if(sva=1,"雄","女性") as ssva from taname where sva != ""或者使用大小寫語法:
select case sva when 1 then '雄' else '女性' end as ssva from taname where sva != ''
-
可以這樣寫,應該是變數mj沒有被賦值。
-
定義 mj mj 後等於?1000?100000?總之,他不值得,你怎麼讓它與其他任何東西相比?
只有你:WLK正常80個字元後,除了北極騎行,還有各種開支,有5000到10000g是正常的,對於愛做生意的人來說也很正常,20000+g也很正常。 >>>More