一个小项目从MS SQL Server移植到Oracle的SQL 语句的变化

 

1、  select aaa as ‘AA’ from table;

修改为select aaa as AA from table

说明:Oracle中字段别名不能加单引号

 

2、  select x01 as 01 from table

修改为select x01 as “01” from table

说明:Oracle中用数字作为字段别名时要加双引号。在java中用字符串表示该SQL语句是双引号用转义字符,有可能要用两层转义字符。在Java中可能要用{select x01 as \\\”01\\\”  from table}表示上述SQL语句

 

3、  select ‘cs’ ;

修改为 select ‘cs’ from dual

 

4、  SQL中T_YB表的电压上下限,默认值为0

Oracle中没有设置想要的默认值。到时新增记录时,对其进行删除、修改是不能将该记录查询上来

 

5、  字符串函数right()、left()改为 substr()

 

6、  字符串连接符 “+” 改为 “||”

 

7、  isnull 改为nvl

 

8、  ltrim rtrim 无需修改

 

9、  str(1234,10,2)修改为to_char(1234,‘9999999999.99’)

 

10、              case when()  else  end 改为 decode(x,if1,then1,if2,then2,…….,elsez)

11、              临时表的创建:select * into ##tmp_hz from v_Rep_HZ5 改为CREATE GLOBAL TEMPORARY TABLE tmp_hz  ON COMMIT Preserve ROWS  AS  SELECT * FROM v_Rep_HZ5

 

12、              创建临时表后,当连接关闭时;会清空临时表 修改了 runSQL类(原类中存在连接没有关闭、每次数据库操作都要重新建立连接,效率较低),修改为使用同一连接执行多个操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值