當開發人員要開發由ORACLE -> SQL SERVER資料庫平台的服務時,   
最先遇到的問題是"SQL語法"究竟能不能通用呢?    
    
很多設計師在設計系統時,若常常是BASE ON ORACLE,那麼其程式撰寫的SQL會非常依賴ORACLE,相對的在移轉性上會比較困難。    
雖然個人認為ORACLE在函數的運用上有非常多元,速度上可能也比較佔優勢。    
但近來SQL SERVER 2008的T-SQL,有許多以前SQL 2000沒有的函數,可以說已經跟ORACLE不相上下了~~。    
    
在此說明這兩者資料庫的函數不同點吧!相同的我就不加以說明,會再繼續補充:
| 函數與語法 | Oracle | SQL Server 2008 | 
| 字串連結 | || | + | 
| 補位 | LPAD/RPAD | REPLICATE(補位字元,<最大長度n>-len(欄位)) +cast(欄位 as nvarchar) | 
| 型態轉換 | TO_CHAR | CONVERT,CAST | 
| 型態轉換 | TO_NUMBER | CONVERT,CAST | 
| 型態轉換 | TO_DATE | CONVERT(TYPE,COL,Sql server定義格式編號) | 
| NULL值轉換 | NVL | ISNULL ( check_expression , replacement_value ) | 
| 四捨五入(數) | CEIL | CEILING | 
| 取整數 | TRUNC | CAST( COL AS INT) | 
| 取子字串 | SUBSTR | SUBSTRING | 
| 取長度 | LENGTH | LEN | 
| 取系統日 | SYSDATE | GETDATE() | 
| 時間相減差 | datediff() | Date1-Date2 | 
| 序號 | sequence (.nextval,.currval) | 類似的作法(IDENTIFY,@@IDENTITY,IDENT_CURRENT) 或自行撰寫 | 
