一個小項目從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類(原類中存在連接沒有關閉、每次數據庫操作都要重新建立連接,效率較低),修改爲使用同一連接執行多個操作

發佈了11 篇原創文章 · 獲贊 3 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章