orcale 和postGresql語法差異
首先用工具(Ora2pg)自動轉換
1.VARCHAR2 -----> VARCHAR
2.DATE ----->timestamp
3.SYSDATE---->localtimestamp
4.Oracle中''和NULL是相同的,但pgsql是不同的,所以需要將''修改成NULL
5. orcale字符串連接符 ||,pg一般用·concat()函數代替
6.trunc(時間) → date_trunc()
7.to_char, to_number, to_date pgsql都需要指定格式
8.decode轉化為casewhen
9.NVL ------>coalesce
10.外連接(+) → left(right) join
11.GOTO語句 → pgsql不支持
12.oracle不支持boolean類型,可以用integer型代替
13.pgsql中 :: 為類型轉換,oracle中不具有;
14.PostgresQL中沒有rownum,無法使用where rownum < = X的方法進行分頁,取而代之的是limit X,offset Y方法
15.pgsql中,查詢語句from子句中,表名后可以加 as 別名,oracle中表名后不允許出現as
16.pgsql子查詢要求嚴格,必須具有別名才可以;
17. CLOB -----> TEXT
18. 序列
SELECT schema.prefix_table1_sequence.nextval AS nCode FROM DUAL (orcale語法)
SELECT nextval( 'schema.prefix_table1_sequence') AS nCode FROM DUAL 此方法前提是dual視圖已建立,如沒有,可省略FROM DUAL(pgsql語法)
|