NVL (giá trị, mặc định) là chức năng bạn đang tìm kiếm.
select type, craft, sum(NVL(regular, 0) + NVL(overtime, 0) ) as total_hours
from hours_t
group by type, craft
order by type, craft
Oracle có 5 hàm liên quan đến NULL:
- NVL
- NVL2
- COALESCE
- NULLIF
- LNNVL
NVL :
NVL(expr1, expr2)
NVL cho phép bạn thay thế null (trả về dưới dạng trống) bằng một chuỗi trong kết quả của một truy vấn. Nếu expr1 là null, thì NVL trả về expr2. Nếu expr1 không null, thì NVL trả về expr1.
NVL2 :
NVL2(expr1, expr2, expr3)
NVL2 cho phép bạn xác định giá trị được trả về bởi một truy vấn dựa trên việc một biểu thức được chỉ định là null hay không null. Nếu expr1 không null, thì NVL2 trả về expr2. Nếu expr1 là null, thì NVL2 trả về expr3.
COALESCE
COALESCE(expr1, expr2, ...)
COALESCE trả về expr không rỗng đầu tiên trong danh sách biểu thức. Ít nhất một expr không được là NULL theo nghĩa đen. Nếu tất cả các lần xuất hiện của expr được đánh giá là null, thì hàm trả về null.
NULLIF
NULLIF(expr1, expr2)
NULLIF so sánh expr1 và expr2. Nếu chúng bằng nhau, thì hàm trả về null. Nếu chúng không bằng nhau, thì hàm trả về expr1. Bạn không thể chỉ định NULL theo nghĩa đen cho expr1.
LNNVL
LNNVL(condition)
LNNVL cung cấp một cách ngắn gọn để đánh giá một điều kiện khi một hoặc cả hai toán hạng của điều kiện có thể rỗng.
Thông tin thêm về các Hàm SQL của Oracle