2017-08-18 4 views
0

私はSQLでstrcmpの結果に基づいて2つの文字列とプロセスを比較する必要があります。mysqlのif文でstrcmpを使用するには?

サンプル:

Set @login='USC00010'; 
set @user='USC00010'; 
select STRCMP(@login,@user);//returns 0 
if(STRCMP(@login,@user)= 0) 
THEN 
//process1 
else 
//process2 
end if; 

と上記のコードは、あなたがあなたのSQL構文でエラーが発生しているスロー。 (ユーザー@ STRCMP(@ログイン、)= 0)場合は、」の近くに使用する権利構文についてはMySQLサーバのバージョンに対応するマニュアルを確認し

実際の要件:

if(//matches) 
begin 
if exists(select X from X) 
begin 
if exists(select x from x where y=a) 
begin 
update x     
end 
end 
else//doesn't match 
begin 
//process2      
end 
+0

は、このAですストアドプロシージャ? – RiggsFolly

+0

はい、それはストアドプロシージャです –

+0

完全なコードまたは少なくとも[最小、完全で検証可能な例]を表示してください(http://stackoverflow.com/help/mcve) – RiggsFolly

答えて

0
Set @login='USC00010'; 
set @user='USC00010'; 
select if(STRCMP(@login,@user)= 0,"match","no-match") as str_compare 
+0

私もこれを試してみました。しかし、私の問題は、マッチまたはノマッチに基づいています。私は選択と更新のプロセスを持っています(プロセス1) –

関連する問題