内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

PostgreSQL與Oracle的sql區(qū)別有哪些

本篇內容介紹了“PostgreSQL與Oracle的sql區(qū)別有哪些”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

為陽朔等地區(qū)用戶提供了全套網頁設計制作服務,及陽朔網站建設行業(yè)解決方案。主營業(yè)務為成都網站建設、網站建設、陽朔網站設計,以傳統(tǒng)方式定制建設網站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

1.rownum

(1)Oracle分頁查詢使用rownum,PostgreSQL使用limit offset
OraclePostgreSQL
select  *  from (select rownum r,e.* from emp e where rownum <=5) t where r>0;select  * from emp limit 5 offset 0;
(2)Oracle中rownum=1,PostgreSQL中使用limit 1
OraclePostgreSQL
select  *  from emp where rownum = 1;select  * from emp limit 1;
(3)Oracle中序號列rownum,PostgreSQL使用窗口函數(shù)
OraclePostgreSQL
select  rownum,t.*  from emp t;select row_number() over(), t.* from emp t;

2.系統(tǒng)日期

OraclePostgreSQL
SYSDATEcurrent_timestamp, current_date

3.delete語句

Oracle delete語句可以沒有from,pg必須要有from

OraclePostgreSQL
delete from emp where empno = xxx;
delete emp where empno = xxx
delete from emp where empno = xxx

4.類型自動轉換

Oracle支持類型自動轉換,例如數(shù)字自動換換為字符串等;PG中需要顯示轉換,或者添加CAST

5.子查詢別名

PostgreSQL在from關鍵字后的子查詢必須要有別名,Oralce可以沒有。

6. group by having

PG having語句必須在group by之后,oracle可以在group by之前

7.遞歸查詢

Oracle中使用start with … connect by…, PG中使用with recusive

OraclePostgreSQL
select *
from larearrelation
where rearedgens = 1
and rearflag = 1
and rearlevel = ‘01’
connect by prior agentcode = rearagentcode
start with rearagentcode = ‘10032226’;
with recursive rs as (
select * from larearrelation where rearagentcode = ‘10032226’
union all
select a. from larearrelation a, rs where a.rearagentcode = rs.agentcode
)
select  * from rs where rearedgens = 1 and rearflag = ‘1’ and rearlevel = ‘01’

8.update語句別名

postgresql中update語句時,set的字段不能有別名

OraclePostgreSQL
update emp t set t.name = ‘xxx’ where t.empno = 2update emp set name = ‘xxx’ where empno = 2

9. 日期相減

oracle日期相減自動轉換為數(shù)字,結果為相差的天數(shù)。
pg日期相減為interval類型,得到相差天數(shù)需要進行類型轉換

10.遞歸查詢中的level

oracle的遞歸查詢中l(wèi)evel表示查詢深度(或者遞歸層次),在PG中沒有此含義的關鍵字,需要自行在with recursive實現(xiàn)

OraclePostgreSQL
select  max(level) from larearrelation
where rearedgens = 1
and rearflag = 1
and rearlevel = ‘01’
connect by prior agentcode = rearagentcode
start with rearagentcode = ‘10032226’;
with recursive rs as (
select larearrelation., 1 depth from larearrelation where rearagentcode = ‘10032226’
union all
select a./*, rs.depth + 1 depth from larearrelation a, rs where a.rearagentcode = rs.agentcode
)
select max(rs.depth) from rs where rearedgens = 1 and rearflag = ‘1’ and rearlevel = ‘01’

11.序列的調用

OraclePostgreSQL
select seqname.nextval from dual;select nextval(‘seqname’)

12.外連接

Oralce外連接支持使用 (+), PostgreSQL需使用left jion或者right join標準sql語法

13.distinct去重復

oracle支持unique關鍵字去重復,pg中只能使用distinct

14.字符串分割

OraclePostgreSQL
listaggstring_agg

15.集合相減

OraclePostgreSQL
Minusexcept

16.null與”

null和’’在oracle中是一致的,最終都會存儲為null,在PG中會進行區(qū)分

17.不等于

Oracle中 ! =,< >操作符中間允許有空格,PG中不可以

18.別名

PG中無效的別名,可以嘗試加as關鍵字,例如name

19.正則表達式

OraclePostgreSQL
SELECT REGEXP_SUBSTR(‘17,20,23’,’[^,]+’,1,1,’i’)  FROM DUAL;select (regexp_matches(‘17,20,23’, ‘[^,]+’))[1]

20.字段大小寫

oracle字段名大寫,PG字段名小寫

“PostgreSQL與Oracle的sql區(qū)別有哪些”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注創(chuàng)新互聯(lián)網站,小編將為大家輸出更多高質量的實用文章!

文章名稱:PostgreSQL與Oracle的sql區(qū)別有哪些
網頁鏈接:http://www.rwnh.cn/article46/pgsphg.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供動態(tài)網站、網站導航、企業(yè)網站制作云服務器、建站公司定制開發(fā)

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務器托管
新乡县| 浦东新区| 宁安市| 邓州市| 吴忠市| 新蔡县| 香河县| 会昌县| 苏尼特左旗| 尼玛县| 桓仁| 陕西省| 宽城| 华安县| 句容市| 德昌县| 梅州市| 池州市| 体育| 莒南县| 长宁县| 曲松县| 八宿县| 扎赉特旗| 南木林县| 白沙| 清新县| 湖口县| 盈江县| 磴口县| 乡宁县| 伊春市| 垣曲县| 江口县| 林芝县| 靖州| 仙桃市| 沙洋县| 北票市| 博乐市| 安阳县|