私は次のようなことをしたい:
select (if lookup = 8 then 08 else lookup) lookup
, //more columns
from lookup_table
order by lookup
残念ながら、Oracle はこの構文を好まないようです。その理由や、使用すべき他の関数を見つけることができません。
基本的にはルックアップ値が8なら08、そうでなければルックアップ値が欲しい。私はただ愚かであると確信しています。
case ステートメントが必要です。
select (case when lookup = 8 then 8 else lookup end) as lookup
が文字列の場合lookup
は、おそらく次のようにします。
select (case when lookup = '08' then '08' else lookup end) as lookup
が整数で、それを文字列に変換する場合lookup
は、次のようにします。
select (case when lookup = 8 then to_char(lookup, '00') else to_char(lookup, '00') end) as lookup
しかし、それは私には冗長に思えます。