2016-10-11 8 views
0

switchステートメントが "switch"値の代わりにすべての一致した値に対して0を返すのはなぜですか?一致する値でない場合は、空白を返します。これは正しいです。ここでSwitchステートメントが返される0

は、スイッチなステートメントの先頭にある[ICC] =を削除し、私の初心者の目

SELECT [ICC]=Switch([ICC]="UV1","RP1",[ICC]="UV2","RP2",[ICC]="UV3","RP3") AS Expr1 
FROM UVMaster; 
+0

[ICC]の値をスイッチから返された値に変更しようとしていますか? –

+0

@EdPlunkett ICC = UV1の場合はRP1を表示し、ICC = UV2の場合はRP2を表示し、ICC = UV3の場合はRP3を表示 – BellHopByDayAmetuerCoderByNigh

+0

テーブルの値を変更するには更新が必要です。 Selectは '= 'を比較として解釈し、新しい値が古い値と等しくないので、' 'false' 'のために' 0'を返すと思います。 –

答えて

0

に有効になりますこれは、私の構文です。それは以下のようになります。なぜゼロを返すのか答えることはできませんが、これで解決するはずです。

SELECT Switch([ICC]="UV1","RP1",[ICC]="UV2","RP2",[ICC]="UV3","RP3") AS Expr1 
FROM UVMaster; 
+0

それはそれを得ました!すぐに答えとして受け入れる。ありがとうございました! – BellHopByDayAmetuerCoderByNigh

+0

私は今何をしたのか分かりません。私は更新ステートメントが必要でしたが、適切な構文を確実にするためにSelectで最初にテストしていました。だから、私のアップデートは実際にはUpdate UVMaster Set ICC = switch ....を読んでいたのに対し、SelectステートメントはSelectスイッチしか読んでいませんでした。 – BellHopByDayAmetuerCoderByNigh

+0

意味が分かります。それが利用可能になったら、私に賛成して答えを記してください。そして問題はない! –

関連する問題