| 函數 | 說明 | 範例 | 結果 |
|---|---|---|---|
| ROUND(n, m) | 四捨五入至小數點後 m 位 (m 可為負數) | ROUND(45.923, 1) | 45.9 |
| ROUND(45.923, 0) | 46 | ||
| ROUND(45.923, -1) | 50 | ||
| TRUNC(n, m) | 截斷至小數點後 m 位 (不四捨五入) | TRUNC(45.923, 1) | 45.9 |
| TRUNC(45.923, 0) | 45 | ||
| TRUNC(45.923, -1) | 40 | ||
| MOD(m, n) | m 除以 n 的餘數 | MOD(1600, 300) | 100 |
| ABS(n) | 絕對值 | ABS(-5) | 5 |
| SQRT(n) | 平方根 | SQRT(2) | 1.414... |
| POWER(m, n) | m 的 n 次方 | POWER(2, 3) | 8 |
| COS(n) | 餘弦 (弧度) | COS(3.14159) | -1 |
| CEIL(n) | 大於等於 n 的最小整數 | CEIL(2.35) | 3 |
| FLOOR(n) | 小於等於 n 的最大整數 | FLOOR(2.35) | 2 |
| 元素 | 意義 | 範例 |
|---|---|---|
| 9 | 一位數字,正數前置空格,負數前置 - | 9999 |
| 0 | 一位數字,不足補 0 | 0000 |
| , | 千分位分隔符 | 99,999 |
| . | 小數點 | 999.9 |
| $ | 美元符號 | $999.9 |
| L | 本地貨幣符號 (由 NLS_CURRENCY 決定) | L999.99 |
| FM | 移除前後空格/前導零 | FM999.99 |
| EEEE | 科學記號 | 9.9EEEE |
| S | 正負號置於最前 | S999.9 |
SELECT TO_CHAR(sal, '$99,999') AS salary
FROM emp
WHERE ename = 'SCOTT';
-- 輸出: $4,000
說明:實際位數不足格式位數時只顯示實際位數;超出則顯示 ####。
| 函數 | 說明 | 範例 |
|---|---|---|
| NVL(expr1, expr2) | expr1 為 NULL 回傳 expr2 | NVL(comm, 0) |
| DECODE(expr, s1, r1, s2, r2, ..., default) | 等值比對分支 | DECODE(1, 1, '男', 2, '女') → '男' |
| USERENV('LANGUAGE') | 回傳 Session 語言環境 | SIMPLIFIED CHINESE_CHINA.ZHS16GBK |
| GREATEST(expr1, expr2, ...) | 最大值 | GREATEST(20,35,18,9) → 35 |
| LEAST(expr1, expr2, ...) | 最小值 | LEAST(20,35,18,9) → 9 |
sal + comm)。NVL(comm, 0)、NVL(hiredate, DATE '1997-01-01')、NVL(job, '無') 明確轉換。COALESCE (標準 SQL) 或 NVL2 (區分 NULL/非 NULL 回傳不同值)。