MySQL Null Functions

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.