SysVN xin giới thiệu bài viết “Cách sử dụng General Functions trong Oracle SQL”. Mời các bạn theo dõi. Những bài viết liên quan đến Single-Row Functions, những hàm chuyển đổi các bạn có thể xem lại những link bên dưới
- Cách sử dụng Single-Row Functions trong Oracle SQL
- Cách sử dụng Single-Row Functions kiểu date trong Oracle SQL
- Cách sử dụng Conversion Functions và những biểu thức điều kiện trong Oracle SQL
- Cách sử dụng những hàm lồng vào nhau (Nesting Functions) trong Oracle SQL
- Giới thiệu
General Functions bao gồm: NVL, NVL2, NULLIF, COALESCE. Những hàm này được sử dụng bất kỳ kiểu dữ liệu và liên quan đến giá trị Null
- NVL (expr1, expr2)
- NVL2 (expr1, expr2, expr3)
- NULLIF (expr1, expr2)
- COALESCE (expr1, expr2, …, exprn)
Bảng mô tả
Hàm | Mô tả |
NVL | Chuyển đổi giá trị Null thành giá trị thực |
NVL2 | Nếu expr1 không Null, NVL2 trả về expr2. Nếu expr1 là Null, NVL2 trả về expr3, expr1 có thể có bất kỳ kiểu dữ liệu nào. |
NULLIF | So sánh expr1 và expr2. Nếu expr1=expr2 thì trả về Null. Nếu expr1 không bằng expr2 thì trả về expr1. |
COALESCE | Trả về biểu thức không Null đầu tiên trong danh sách các biểu thức. |
2. NVL Function
NVL dùng đề chuyển đổi giá trị Null thành giá trị thực. Kiểu dữ liệu sử dụng trong hàm NVL có thể kiểu date, character, number và điều lưu ý kiểu dữ liệu expr1 và expr2 phải khớp với nhau.
Cú pháp: NVL (expr1, expr2)
- expr1 là giá trị nguồn hoặc biểu thức có thể chứa giá trị Null
- expr2 là giá trị đích cho việc chuyển đổi giá trị null
Data Type | Conversion Example |
NUMBER | NVL(number_column,9) |
DATE | NVL(date_column, ’01-JAN-95′) |
CHAR or VARCHAR2 | NVL(character_column, ‘Unavailable’) |
Ví dụ:
2. NVL2 Functions
Cú pháp: NVL2 (expr1, expr2, expr3)
Nếu expr1 không Null, NVL2 trả về expr2. Nếu expr1 là Null, NVL2 trả về expr3, expr1 có thể có bất kỳ kiểu dữ liệu nào.
Ví dụ:
SELECT last_name, salary, commission_pct,
NVL2(commission_pct,’SAL+COMM’, ‘SAL’) income
FROM employees
WHERE department_id IN (50, 80);
Chú ý: expr1,expr2, expr3 có thể bất kỳ kiểu dữ liệu nào nhưng expr2, expr3 ngoại trừ kiểu LONG.
3. NULLIF Function
Cú pháp: NULLIF (expr1, expr2)
- Nếu expr1 = expr2 trả về Null
- Nếu expr1 # expr2 trả về expr1
4. COALESCE Function
Cú pháp: COALESCE (expr1, expr2, … exprn)
Trả về biểu thức không Null đầu tiên trong danh sách các biểu thức.
Ví dụ 1:
SELECT last_name, employee_id,commission_pct,manager_id,
COALESCE(TO_CHAR(commission_pct),TO_CHAR(manager_id),’No commission and no manager’)
FROM employees;
Ví dụ 2:
SELECT last_name, salary, commission_pct,salary+(commission_pct*salary),salary+2000,
COALESCE((salary+(commission_pct*salary)), salary+2000, salary) “New Salary”
FROM employees;