内容摘要:本文针对从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可以这样实现?
责编:豆豆技术应用