Hiểu về MySQL Null Functions
Trong MySQL, "NULL" biểu thị cho một giá trị không xác định hoặc chưa được khởi tạo. Các hàm xử lý NULL là những công cụ mạnh mẽ giúp bạn dễ dàng làm việc với các dữ liệu có thể thiếu giá trị. Bài viết này sẽ giới thiệu về các hàm NULL trong MySQL, bao gồm định nghĩa, cú pháp và ví dụ cụ thể.
1. Định nghĩa NULL Functions
Các hàm NULL trong MySQL được thiết kế để xử lý hoặc xác định giá trị NULL trong một cột dữ liệu. Những hàm này bao gồm:
- IS NULL
- IS NOT NULL
- COALESCE()
- IFNULL()
- NULLIF()
2. Cú pháp và ví dụ
2.1 Hàm IS NULL
Hàm này được sử dụng để kiểm tra xem một giá trị có phải là NULL hay không.
SELECT column_name FROM table_name WHERE column_name IS NULL;
Ví dụ: Giả sử bạn có bảng "employees" và muốn tìm tất cả các nhân viên không có số điện thoại:
SELECT * FROM employees WHERE phone_number IS NULL;
2.2 Hàm IS NOT NULL
Hàm này đối lập với IS NULL, được sử dụng để kiểm tra xem một giá trị có không phải là NULL.
SELECT column_name FROM table_name WHERE column_name IS NOT NULL;
Ví dụ: Tìm tất cả các nhân viên có số điện thoại:
SELECT * FROM employees WHERE phone_number IS NOT NULL;
2.3 Hàm COALESCE()
Hàm này trả về giá trị không NULL đầu tiên trong danh sách các biểu thức được cung cấp.
SELECT COALESCE(column1, column2, 'default_value') AS result FROM table_name;
Ví dụ: Trả về tên nhân viên, nếu tên không có thì trả về "No Name":
SELECT COALESCE(name, 'No Name') AS employee_name FROM employees;
2.4 Hàm IFNULL()
Hàm này kiểm tra một giá trị và trả về một giá trị thay thế nếu giá trị đó là NULL.
SELECT IFNULL(column_name, 'default_value') AS result FROM table_name;
Ví dụ: Trả về số điện thoại hoặc "No Phone" nếu không có số điện thoại:
SELECT IFNULL(phone_number, 'No Phone') AS phone FROM employees;
2.5 Hàm NULLIF()
Hàm này so sánh hai giá trị và trả về NULL nếu chúng bằng nhau, ngược lại sẽ trả về giá trị đầu tiên.
SELECT NULLIF(column1, column2) AS result FROM table_name;
Ví dụ: So sánh hai giá trị và trả về NULL nếu chúng giống nhau:
SELECT NULLIF(salary, 0) AS adjusted_salary FROM employees;
Kết luận
Các hàm NULL trong MySQL là công cụ quan trọng giúp bạn quản lý dữ liệu không xác định một cách hiệu quả. Hiểu rõ về các hàm này sẽ giúp bạn viết các truy vấn mạnh mẽ và linh hoạt hơn khi làm việc với cơ sở dữ liệu.