我想做类似的事情:
select (if lookup = 8 then 08 else lookup) lookup
, //more columns
from lookup_table
order by lookup
不幸的是,Oracle似乎不喜欢这种语法,我没有发现原因或者找不到我应该使用的其他功能。
基本上,如果查找值为8,我想获得08,否则我想要查找的值。我确定我只是愚蠢。
答案 0 :(得分:12)
你想要一个案例陈述:
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
然而,这对我来说似乎是多余的。