[size=medium]1.最近在看sql方面的东东,今天看到oracle中一个函数decode。先看一个例子。[/size]
[size=small]说明:判断service_state为‘02’时则显示为‘服务期’,为‘04’时则显示为‘未备案’为‘03’时则显示为‘续费期’,否则为‘其他。decode函数正好能表示这个含义。[/size]
[size=medium]2.还可以通过case when 函数来表示。sql如下:[/size]
[color=red][size=large]
综上所述:decode和 case when 在oracle sql中都能实现多分支选择含义。[/color][/size]
select sv.service_code,
sv.domain_name,
decode(sv.service_state,
'02',
'服务期',
'04',
'未备案',
'03',
'续费期',
'其他')
from service_vzzjz sv
[size=small]说明:判断service_state为‘02’时则显示为‘服务期’,为‘04’时则显示为‘未备案’为‘03’时则显示为‘续费期’,否则为‘其他。decode函数正好能表示这个含义。[/size]
[size=medium]2.还可以通过case when 函数来表示。sql如下:[/size]
select sv.service_code as 服务编号,
sv.domain_name as 域名,
case when sv.service_state = '02' then '服务期'
when sv.service_state = '04' then '未备案'
when sv.service_state = '03' then '续费期' else '其他' end as 服务状态
from service_vzzjz sv
[color=red][size=large]
综上所述:decode和 case when 在oracle sql中都能实现多分支选择含义。[/color][/size]