| 功能 | SQL Server | Oracle | 備註 |
| ASCII 碼 | ASCII('a') | ASCII('a') | |
| 碼轉字元 | CHAR(97) | CHR(97) | |
| 串接 | '11'+'22'+'33' | CONCAT('11','22') || '33' | Oracle CONCAT 僅兩參數,常用 || |
| 子串位置 | CHARINDEX('s','sdsq',2) | INSTR('sdsq','s',2) | |
| 模糊搜尋位置 | PATINDEX('%d%q%','sdsfasdqe') | INSTR 配合第 4 參數控制出現次數 | Oracle 無 PATINDEX |
| 取子串 | SUBSTRING('abcd',2,2) | SUBSTR('abcd',2,2) | |
| 子串取代 | STUFF('abcdef',2,3,'ijklmn') | REPLACE('abcdef','bcd','ijklmn') | |
| 全域取代 | 無 | TRANSLATE('fasdbfasegas','fa','我') | 字元對字元對應取代 |
| 長度 | LEN/DATALENGTH | LENGTH | |
| 大小寫轉換 | LOWER/UPPER | LOWER/UPPER | |
| 首字大寫 | 無 | INITCAP('abcd dsaf') | |
| 左補字元 | SPACE(10)+'abcd' | LPAD('abcd',14) | 預設補空格 |
| 右補字元 | 'abcd'+SPACE(10) | RPAD('abcd',14) | |
| 去除空格 | LTRIM/RTRIM | LTRIM/RTRIM/TRIM | TRIM 可同時去首尾 |
| 重複字串 | REPLICATE('abcd',2) | 無內建 | 可用 RPAD/LPAD 技巧 |
| 發音相似 | SOUNDEX/DIFFERENCE | SOUNDEX | Oracle 無 DIFFERENCE |
| 功能 | SQL Server | Oracle | 備註 |
| 系統時間 | GETDATE() | SYSDATE | |
| 日期加減天 | DATEADD/直接 +/- | 直接 +/- 整數 | Oracle: SYSDATE+1 為明天 |
| 取日期部份 | CONVERT(CHAR(10),GETDATE(),20) | TRUNC(SYSDATE) 或 TO_CHAR(SYSDATE,'YYYY-MM-DD') | |
| 取時間部份 | CONVERT(CHAR(8),GETDATE(),108) | TO_CHAR(SYSDATE,'HH24:MI:SS') | |
| 日期部份擷取 | DATEPART/DATENAME | TO_CHAR(SYSDATE, '格式') | 格式參數見下表 |
| 當月最後一天 | 無 | LAST_DAY(SYSDATE) | |
| 本週指定 weekday | 無 | NEXT_DAY(SYSDATE, 7) -- 7=星期六 | 參數 1-7 代表 星期日-六 |
| 字串轉日期 | CAST('2004-09-08' AS DATETIME) | TO_DATE('2004-01-05 22:09:38','YYYY-MM-DD HH24:MI:SS') | |
| 兩日期差值(秒) | DATEDIFF(ss, d1, d2) | (d1-d2)*24*60*60 | Oracle 相減得天數小數 |
| 日期加減分鐘 | DATEADD(mi, 8, GETDATE()) | SYSDATE + 8/60/24 | |
| 時區轉換 | 無 | NEW_TIME(SYSDATE, 'YDT', 'GMT') | 參數見下表 |