sql >> データベース >  >> RDS >> Oracle

OracleSQLのCaseステートメントの一部でエイリアスを使用する

    いいえ、同じレベルのselectの他の場所でエイリアスを参照することはできません 、order by以外 Oracleが内部で割り当てる場合のため、句。

    ドキュメントから(強調を追加):

    列エイリアスc_aliasを使用して、選択リストの直前の式にラベルを付け、列が新しい見出しで表示されるようにすることができます。エイリアスは、クエリの期間中、選択リストアイテムの名前を効果的に変更します。 エイリアスはORDER BYで使用できます 句ですが、クエリ内の他の句ではありません

    次のような内部クエリを使用する必要があります:

    select "Id",
        case "Id"
            when 3
            then 'foo'
            else 'bar'
        end AS "Results"
    from (
        select TABLEA.SomeIDNumber AS "Id",
        from TABLEA
    );
    



    1. MySQLで複合主キーを作成する方法

    2. ORA-03115を取得:anonymous pl/sqlからvarcharの配列をフェッチ中にサポートされていないネットワークデータ型または表現エラー

    3. 画像をデータベースに直接保存しますか、それともbase64データとして保存しますか?

    4. MySQLテーブルに挿入するか、存在する場合は更新します