教你快速掌握Oracle SQL到DB2 SQL的移植

2008-01-28 11:34:44.0     推荐:0    收藏:0    评论:0     来源:赛迪网

Oracle SQL到DB2 SQL的移植:

1、Oracel中的"decode"

DB2的解决方案:用"case"条件表达式来完成。

"case"两种语法的模式:

(1)CASE

WHEN 条件 THEN 结果1 

ELSE 结果2 

END

(2)CASE 表达式1

WHEN 表达式2 THEN 结果1 

ELSE 结果2 

END

上面的WHEN可以重复多次,就像C中的SWITCH ..CASE的表达.

例如:

SELECT ORDNO,CUSNO, 

CASE MONTH(SHIPDATE) 

WHEN ''01'' THEN ''Jan'' 

WHEN ''02'' THEN ''Feb'' 

WHEN ''03'' THEN ''Mar'' 

WHEN ''04'' THEN ''Apr'' 

WHEN ''05'' THEN ''May'' 

WHEN ''06'' THEN ''Jun'' 

WHEN ''07'' THEN ''Jul'' 

WHEN ''08'' THEN ''Aug'' 

WHEN ''09'' THEN ''Sep'' 

WHEN ''10'' THEN ''Oct'' 

WHEN ''11'' THEN ''Nov'' 

WHEN ''12'' THEN ''Dec'' 

END 

FROM FILE 

应用实例: 

Oracle SQL: 

------------------------- 

select decode(t.organtypecode, ''D'', t.parent, ''S'', t.parent, t.id) 

from A_ORGAN t 

where t.parent = 35 

DB2 SQL: 

------------------------- 

select case x.organtypecode 

when ''D'' then 

x.parent 

when ''S'' then 

x.parent 

else 

x.id 

end 

from a_Organ x 

where x.parent = 35;
[第1页]   [第2页]   [第3页]   [第4页]   [下一页]
您可以针对本文进行:[评论]  [收藏]  [推荐]   [查看原文链接]  
  • 共有0条评论  点击查看更多评论
  • 网友评论仅供网友表达个人看法,并不表明e800同意其观点或证实其描述
我想发表评论:
用户名密码
  • 匿名发表
    验证码: