「ブロック機能」のリニューアルについて

下記のように打つと「行1でエラーが発生しました。:
ORA-00905: キーワードがありません」というエラーが表示されます。どうすればいいでしょうか?

SELECT ENAME AS 名前, SAL AS 給与, CASE SAL WHEN SAL <= 1100 THEN SAL * 1.055 WHEN SAL <=1400 THEN SAL * 1.05 WHEN SAL <=3000 THEN SAL * 1.0 ELSE SAL*1.045 AS 昇給率 FROM EMP;

教えて!goo グレード

A 回答 (2件)

2カ所誤りがあります。



1つ目

CASEに対するENDがない。(#1の指摘の通り)

2つ目

"CASE"キーワードの次に比較要素を書いていますが、
そぼ場合、"WHEN"キーワードの次に書くのは、比較式でなく
比較要素になります。

case ○ when △ then ▲ when □ then ■ else ◆ end

case when ○=△ then ▲ when ○=□ then ■ else ◆ end
は、同じ意味のCASE式ですが、これをゴチャゴチャに使っているのが、
間違いです。

SELECT
 ENAME AS 名前,
 SAL AS 給与,
 CASE WHEN SAL <= 1100 THEN SAL * 1.055
    WHEN SAL <=1400 THEN SAL * 1.05
    WHEN SAL <=3000 THEN SAL * 1.0
    ELSE SAL*1.045
 END AS 昇給率
FROM EMP;

のように書くと問題なく使えるかと思います。
    • good
    • 0
この回答へのお礼

分かりやすい回答ありがとうございます。
実行してみるとすんなり結果が出力しました。

お礼日時:2005/05/22 17:06

昇給率 FROM


 ↓
昇給率 END FROM

では、どうでしょうか?

この回答への補足

回答ありがとうございます。
下記エラーが表示され実行できませんでした。

行1でエラーが発生しました。:
ORA-00936: 式がありません。

補足日時:2005/05/22 11:52
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

教えて!goo グレード

関連するカテゴリからQ&Aを探す


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング