程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> Oracle數據庫與Access、SQL Server常見應用比較

Oracle數據庫與Access、SQL Server常見應用比較

編輯:Oracle數據庫基礎

以下的文章主要是介紹Oracle數據庫與Access、SQL Server、常見應用的比較,我在某公司做一個產品中,需要用到的有Access、SQL Server、Oracle數據庫這三個版本;編寫SQL語句的過程中,盡量使用一些通用的語句,但還是有些方面有些區別避免不了,現簡單總結一下。

以下A代表Access,S代表SQL Server,O代表Oracle

1、取當前系統時間

A:Select Now()

S:Select Getdate()

O:Select Sysdate From Dual

2、連接字符串

A:&

S:+

O:||

3、字符串函數(截取字符串、大寫、小寫、查找字符串位置)

A:Mid、UCase、LCase、InStr

S:SubString、Upper、Lower、CharIndex

O:SubStr、Upper、Lower、InStr

4、判斷取值語句

A:IIF

S:Case When Then

O:Decode

5、時間字段

A:要用#號分隔,或者轉換為日期

SELECT * FROM Books WHERE RegDate = #2007-5-1# 或

SELECT * FROM Books WHERE RegDate = CDate(’2007-5-1′)

S:可以直接用''

  1. SELECT * FROM Books WHERE RegDate = ‘2007-5-1′  
  2. O:To_Date  
  3. SELECT * FROM Books WHERE RegDate=To_Date('2007-05-01','yyyy-mm-dd')  

6、數據類型轉換

A:CStr,CInt,CDate

S:Convert

O:To_Char,To_Number,To_Date

7、Inser Into …..Select …From 語句

  1. Insert Into a(ii,jj,kk) (Select ii,jj,kk From b) 

這樣的語句,在SQL Server以及Oracle數據庫中都不會有錯,但在Access中會報:INSERT INTO 語句的語法錯誤。Access應該把後面Select語句的括號去掉,如下:

  1. Insert Into a(ii,jj,kk) Select ii,jj,kk From b 

同時這樣寫在SQL Server和Oracle中都不會有錯

8、關鍵字

有些字母在Access,SQL Server中是關鍵字,需要用[ ]界定可解決問題,例如:at,name

9、別名

SQL Server和Oracle中字段起別名時as可以省略,Access不能

10、表名前綴

  1. Select *,1 From A 

這樣的語句在Access,SQL Server中不會有錯,但在Oracle數據庫中是不行的,必須要寫成這樣:

  1. Select A.*,1 From A 

11、如果語句中有:(冒號),例如有時間字段的查詢:CalcDate=#2008-05-01 11:00:00#,在Access中一般會出現如下錯誤:不正常地定義參數對象。提供了不一致或不完整的信息。將相應Query的ParamCheck設為False即可。

12、Access中的邏輯值在庫中為-1和0,而SQL Server中為1和0,所以寫BoolField = 1這樣的語句有兼容性問題,應該改為BoolFIEld <> 0

13、Access的varchar(文本)型最大只有255,所以如果一個文本型字段大於255時,最好定義成備注型(Access中)或text型(SQL Server中);

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved