oracle與sql的區(qū)別(常用函數(shù))
來(lái)源:易賢網(wǎng) 閱讀:891 次 日期:2014-08-25 11:14:27
溫馨提示:易賢網(wǎng)小編為您整理了“oracle與sql的區(qū)別(常用函數(shù))”,方便廣大網(wǎng)友查閱!

 許多軟件公司都理解開發(fā)不依賴于特定數(shù)據(jù)庫(kù)類型(例如Oracle、SQL Server、DB2)的應(yīng)用程序的重要性,它可以讓客戶們選擇自己習(xí)慣的平臺(tái)。一般來(lái)說(shuō),軟件開發(fā)人員都能夠識(shí)別出他們的負(fù)責(zé)數(shù)據(jù)庫(kù)維護(hù)的客戶,和必須使用現(xiàn)有平臺(tái)和個(gè)性化的客戶。

關(guān)于Oracle和SQL Server之間的區(qū)別,已經(jīng)有很多篇文章從企業(yè)的角度和數(shù)據(jù)庫(kù)管理員的角度出發(fā)描寫了兩者之間的一般差別。在這篇文章里面,我將會(huì)從應(yīng)用程序的角度向你描述SQL erver 和oracle平臺(tái)之間的區(qū)別,并且將會(huì)討論開發(fā)不依賴于數(shù)據(jù)庫(kù)環(huán)境的應(yīng)用程序的幾種可能的方法。與此同時(shí),我不會(huì)再論討對(duì)于應(yīng)用程序來(lái)說(shuō),兩個(gè)平臺(tái)之間顯而易見的區(qū)別,例如表的分割和索引。

定義通用接口和語(yǔ)言有很少的幾種通用語(yǔ)言和接口可以讓應(yīng)用程序不依賴于數(shù)據(jù)庫(kù),想來(lái)也可以以同樣的方式應(yīng)用在關(guān)系型數(shù)據(jù)庫(kù)上面: ANSI是美國(guó)國(guó)家標(biāo)準(zhǔn)局定義的,這是一家志愿者成員的組織(用私人基金運(yùn)轉(zhuǎn)),他們?cè)谟嘘P(guān)設(shè)備和程序等廣泛領(lǐng)域內(nèi)開發(fā)了國(guó)家承認(rèn)的標(biāo)準(zhǔn)。在數(shù)據(jù)庫(kù)領(lǐng)域, ANSI定義了編寫SQL命令的標(biāo)準(zhǔn),假設(shè)命令可以運(yùn)行在任何的數(shù)據(jù)庫(kù)上,而不需要更改命令的語(yǔ)法。

ODBC是開放數(shù)據(jù)庫(kù)連接(ODBC)接口,微軟定義的,它可以讓應(yīng)用程序訪問(wèn)數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)中的數(shù)據(jù),使用SQL作為訪問(wèn)數(shù)據(jù)的標(biāo)準(zhǔn)。ODBC允許最大的互聯(lián)性,這意味著一個(gè)單個(gè)的應(yīng)用程序可以訪問(wèn)不同的數(shù)據(jù)庫(kù)管理系統(tǒng)。然后,應(yīng)用程序終端用戶可以添加開放數(shù)據(jù)庫(kù)連接(ODBC)數(shù)據(jù)庫(kù)驅(qū)動(dòng)來(lái)將應(yīng)用程序與他們所選擇的數(shù)據(jù)庫(kù)管理系統(tǒng)鏈接上。 OLE DB是ODBC的繼承者,是一組允許例如基于VB、C++、Access等任何可以連接到類似SQL Server、Oracle、DB2、MySQL等后臺(tái)的“前臺(tái)”的軟件組件。在許多種情況下,OLE DB組件都比原有的ODBC提供了好得多的性能。

JDBC(Java數(shù)據(jù)庫(kù)連接)應(yīng)用程序接口是Java編程語(yǔ)言和廣泛范圍的數(shù)據(jù)庫(kù),SQL數(shù)據(jù)庫(kù)和其他表列數(shù)據(jù)源(例如電子表格或者普通文本文件)之間,進(jìn)行不依賴于數(shù)據(jù)庫(kù)的連接的行業(yè)標(biāo)準(zhǔn)。JDBD應(yīng)用程序接口為基于SQL的數(shù)據(jù)庫(kù)訪問(wèn)提供了調(diào)用級(jí)別的應(yīng)用程序接口。真實(shí)世界中的通用接口不幸的是,并不是所有數(shù)據(jù)庫(kù)級(jí)別的命令都是ANSI,每個(gè)數(shù)據(jù)庫(kù)平臺(tái)都有自己的擴(kuò)展功能。對(duì)于ANSI或者通用接口,一般來(lái)說(shuō)都代表著幾本功能,因此也可能意味著喪失了性能方面的競(jìng)爭(zhēng)力。對(duì)于小型數(shù)據(jù)庫(kù)和小型應(yīng)用程序來(lái)說(shuō),要維護(hù)對(duì)數(shù)據(jù)庫(kù)的通用訪問(wèn)是簡(jiǎn)單的,但是當(dāng)數(shù)據(jù)庫(kù)和/或應(yīng)用程序變得越來(lái)越大,越來(lái)越復(fù)雜,你就不得不向代碼中添加功能。

SQL Server和Oracle的常用函數(shù)對(duì)比

---------數(shù)學(xué)函數(shù)

1.絕對(duì)值

S:select abs(-1) value

O:select abs(-1) value from dual

2.取整(大) S:select ceiling(-1.001) value O:select ceil(-1.001) value from dual

3.取整(?。?/P>

S:select floor(-1.001) value O:select floor(-1.001) value from dual

4.取整(截?。?/P>

S:select cast(-1.002 as int) value O:select trunc(-1.002) value from dual

5.四舍五入S:select round(1.23456,4) value 1.23460 O:select round(1.23456,4) value from dual 1.2346

6.e為底的冪S:select Exp(1) value 2.7182818284590451 O:select Exp(1) value from dual 2.71828182

7.取e為底的對(duì)數(shù)S:select log(2.7182818284590451) value 1 O:select ln(2.7182818284590451)value from dual; 1

8.取10為底對(duì)數(shù)

S:select log10(10) value 1

O:select log(10,10) value from dual; 1

9.取平方

S:select SQUARE(4) value 16

O:select power(4,2) value from dual 16

10.取平方根

S:select SQRT(4) value 2

O:select SQRT(4) value from dual 2

11.求任意數(shù)為底的冪S:select power(3,4) value 81 O:select power(3,4) value from dual 81

12.取隨機(jī)數(shù)

S:select rand() value

O:select sys.dbms_random.value(0,1) value from dual;

13.取符號(hào)

S:select sign(-8) value -1

O:select sign(-8) value from dual -1
  ----------三角函數(shù)相關(guān)
14.圓周率S:SELECT PI() value 3.1415926535897931

O:不知道

15.sin,cos,tan 參數(shù)都以弧度為單位

例如:select sin(PI()/2) value得到1(SQLServer)

16.Asin,Acos,Atan,Atan2 返回弧度

17.弧度角度互換(SQLServer,Oracle不知道)

DEGREES:弧度-〉角度

RADIANS:角度-〉弧度

---------數(shù)值間比較

18. 求集合最大值

S:select max(value) value from

(select 1 value

union

select -2 value

union

select 4 value

union

select 3 value)a

O:select greatest(1,-2,4,3) value from dual

19. 求集合最小值

S:select min(value) value from

(select 1 value

union

select -2 value

union

select 4 value

union

select 3 value)a

O:select least(1,-2,4,3) value from dual

20.如何處理null值(F2中的null以10代替) S:select F1,IsNull(F2,10) value from Tbl O:select F1,nvl(F2,10) value from Tbl

更多信息請(qǐng)查看IT技術(shù)專欄

更多信息請(qǐng)查看數(shù)據(jù)庫(kù)
易賢網(wǎng)手機(jī)網(wǎng)站地址:oracle與sql的區(qū)別(常用函數(shù))
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 加入群交流 | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65317125(9:00—18:00) 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專用圖標(biāo)