在DB2中如何???FOracle的相?P功能(一) 作者?sCCBZZP 在?F??的??用中大家可能??常??遇到在DB2中如何???FOracle的某些功能?o 在此我???蔚乜??Y一下?o???F某一功能可能??有很多?N方法?o在此就?]有全部列出?o ?g迎大家?^?m?o以便和大家共享?o共同探???o共同近步?u(以下主要以Oracle 8I和DB2 7.X?槔?)。
1.如何取一表前n?P????的Oracle和DB2的??法 Oracle 可以?@?????F?s Select * from user.bsempms where rownum<=n; DB2 可以?@?????F?s Select * from db2admin.bsempms fetch first n rows only; 另外也可以用 row_number() over() 去???F的; 2.如何取得??前日期的Oracle和DB2的??法 Oracle 可以?@?????F?s Select sysdate from dual; DB2 可以?@?????F?s Select current timestamp from sysibm.sysdummy1; 3.如何?B接字段的Oracle和DB2的??法 Oracle 可以?@?????F?s Select emp_no||emp_nam from bsempms; Select concat(emp_no,emp_nam) from bsempms; DB2 可以?@?????F?s Select emp_no||emp_nam from db2admin.bsempms; select emp_no concat emp_nam from db2admin.bsempms; 4.如何查??表的?Y??的Oracle和DB2的??法 Oracle 可以?@?????F?s Select sysdate from dual; DB2 可以?@?????F?s Select current timestamp from sysibm.sysdummy1; 5.?冗B接INNER JOIN的Oracle和DB2的??法 Oracle可以?@?????F?s Select a.* from bsempms a,bsdptms b where a.dpt_no=b.dpt_no; DB2 可以?@?????F?s Select * from db2admin.bsempms inner join db2admin.bsdptms on db2admin.bsempms.dpt_no=db2admin.bsdptms.dpt_no; 6.外?B接的Oracle和DB2的??法(右外?B接,左外?B接,完全外?B接,?M合外?B接) Oracle可以?@?????F?s Select a.* from bsempms a,bsdptms b where a.dpt_no=b.dpt_no(+); Select a.* from bsempms a,bsdptms b wherea.dpt_no(+)=b.dpt_no; DB2 可以?@?????F?s Select * from db2admin.bsempms right outer join db2admin.bsdptms on db2admin.bsempms.dpt_no=db2admin.bsdptms.dpt_no; Select * from db2admin.bsempms left outer join db2admin.bsdptms on db2admin.bsempms.dpt_no=db2admin.bsdptms.dpt_no; Select * from db2admin.bsempms full outer join db2admin.bsdptms on db2admin.bsempms.dpt_no=db2admin.bsdptms.dpt_no; 7.如何?绦心_本SQL文件的Oracle和DB2的??法 Oracle 可以?@?????F?s SQL>@$PATH/filename.sql; DB2 可以?@?????F?s db2 -tvf $PATH/filename 文件中每行以 ; ?尾 待?m...
|