一、DB2、ACCESS、ORACLE的常用函数比较:
ORACLE中的应为:SUBSTR(字符串1,LENGTH(字符串1) -位数1 + 1,位数1)
或:SUBSTR(字符串1,-位数1,位数1)
二、SQL语句的差异:
1、Select:(三种数据库基本相同)
基本相同语句:
Select * from 表名where 条件
特殊语句:(三种数据库都可执行)
Select * from
(Select 字段1,字段2,字段3 from YH_User)
2、Insert: (三种数据库基本相同)
基本相同语句:
Insert into 表名(字段列表)V alues(表达式1,…表达式n) | select 字段列表from 表名Where 条件
DB2:存在特殊语句:
INSERT INTO ND2000.XS_PARAM(PARAM_ID,SHOWIF,PARAM_NAME,PARAM_V ALUE,COMMENT1) (V ALUES(5,0,'销帐最大零头','1','单位为元。
'),(6,0,'滞纳月','1','本参数和滞纳日期同时使用。
说明见滞纳日期。
'),(7,0,'滞纳日','1','电费计算后的第N个月的M号时,如果用户电费仍未缴清,则开始计算滞纳金。
其中N为滞纳期限,M为滞纳日期。
'));
3、Delete: (三种数据库基本相同)
基本相同语句:
Delete from 表名Where 条件
4、Update:
基本相同语句:
update 表名set 字段1=表达式,字段2=表达式.. 字段n=表达式where 条件
DB2、Oracle类似,Access不一样
Access:
Update bb_temp,bb_param
set bb_temp.c1=bb_param.c1,
bb_temp.c2=bb_param.c2
where bb_temp.c0=bb_param.c0;
DB2:
Update bb_temp set (c1,c2)=
(select C1,c2 from bb_param where C0=bb_temp.c0)
Oracle:
update xs_param1 set (param_name,param_value)=
(select param_name,param_value
from xs_param
where xs_param.param_id=xs_param1.param_id )
特别说明:
合并字符串用”||”。