A-> Apple、B-> Bananaなどの1対1マッピングのセットがあります。私のテーブルには、A、B、C。のような値を持つ列があります。
今、私は私に直接結果を与える選択ステートメントを使用しようとしています
SELECT
CASE
WHEN FRUIT = 'A' THEN FRUIT ='Apple'
ELSE WHEN FRUIT ='B' THEN FRUIT ='BANANA'
FROM FRUIT_TABLE;
しかし、正しい結果が得られません。助けてください。
これは、caseステートメントの構文にすぎず、次のようになります。
SELECT
CASE
WHEN FRUIT = 'A' THEN 'Apple'
WHEN FRUIT = 'B' THEN 'BANANA'
END AS FRUIT
FROM FRUIT_TABLE;
覚えておいてください。割り当ては実行されず、値は列の内容になります。 (それを変数に割り当てたい場合は、CASEステートメントの前に配置します)。
への変更:
SELECT
CASE
WHEN FRUIT = 'A' THEN 'Apple'
WHEN FRUIT = 'B' THEN 'BANANA'
END
FROM FRUIT_TABLE;
これを試して。
SELECT
CASE
WHEN FRUIT = 'A' THEN 'Apple'
WHEN FRUIT = 'B' THEN 'BANANA'
ELSE 'UNKNOWN FRUIT'
END AS FRUIT
FROM FRUIT_TABLE;
どのプラットフォーム ?
SELECT
CASE
WHEN FRUIT = 'A' THEN 'Apple'
ELSE FRUIT ='B' THEN 'BANANA'
END AS FRUIT
FROM FRUIT_TABLE;