Oracle到DB2移植解决方案

豆豆网   技术应用频道   2007年10月31日  【字号: 收藏本文

内容摘要:本文针对从Oracle到DB2数据移植过程中需注意问题进行了解析

  DB2 SQL:

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

  -名称:名称库查询

  --作者:雷智民

  --日期:2006-10-27

  --FOR :DB2  

selectm.*
  fromdj_mcdjm
  wherem.mcqc||''''like''%%''
  andm.xzqhdm||''''like''%%%''
  andm.hylbdm||''''like''%%%''
  anddate(m.blqsrq)>=date(''1900-01-01'')
  anddate(m.blqsrq)<date(''2050-01-01'')+1day

  5、nvl 问题

  DB2解决方案:利用coalesce(,) 或 value(,)方法。

  oracle中的nvl对应db2中的value ,只是oracle中的语法更有宽松一些,在db2中,value要求两个参数必须是同一种类型的,nvl要求则不是很严格,nvl(A,‘’),如果A是数字类型或者日期类型的这个表达式也没有 问题,但是在db2中,若是也这么写的话, value(A,''),那肯定就有问题了,总的来说,基本上是一致的。

  6、左右外连接问题

  db2的左右外连接的语法和标准sql语法一样,只是没有oracle中的(+)这个简单符号来标记左右外连接,left (right) outer join on

  1).内连接INNER JOIN的Oracle和DB2的写法

  Oracle可以这样实现? Select a.* from bsempms a,bsdptms b where a.dpt_no=b.dpt_no; DB2 可以这样实现? Select * from db2admin.bsempms inner join db2admin.bsdptms on db2admin.bsempms.dpt_no=db2admin.bsdptms.dpt_no;

  2).外连接的Oracle和DB2的写法(右外连接,左外连接,完全外连接,组合外连接)

  Oracle可以这样实现?

责编:豆豆技术应用

正在加载评论...