Nếu MySQL trống

Bản tóm tắt. trong hướng dẫn này, bạn sẽ tìm hiểu về hàm IFNULL của MySQL, đây là một hàm luồng điều khiển rất tiện dụng để xử lý các giá trị NULL

Giới thiệu về hàm IFNULL của MySQL

Hàm IFNULL của MySQL là một trong các hàm luồng điều khiển của MySQL chấp nhận hai đối số và trả về đối số đầu tiên nếu nó không phải là NULL. Mặt khác, hàm IFNULL trả về đối số thứ hai

Hai đối số có thể là giá trị chữ hoặc biểu thức

Sau đây minh họa cú pháp của hàm IFNULL

IFNULL(expression_1,expression_2);

Code language: SQL (Structured Query Language) (sql)

Hàm IFNULL trả về

SELECT IFNULL(1,0); -- returns 1

Code language: SQL (Structured Query Language) (sql)
3 nếu

SELECT IFNULL(1,0); -- returns 1

Code language: SQL (Structured Query Language) (sql)
3 không phải là NULL ; . Các

Hàm IFNULL trả về một chuỗi hoặc một số dựa trên ngữ cảnh nơi nó được sử dụng

Nếu bạn muốn trả về một giá trị dựa trên điều kiện

SELECT IFNULL(1,0); -- returns 1

Code language: SQL (Structured Query Language) (sql)
8 hoặc

SELECT IFNULL(1,0); -- returns 1

Code language: SQL (Structured Query Language) (sql)
9 khác với điều kiện NULL, bạn nên sử dụng hàm IF

Các ví dụ về hàm IFNULL của MySQL

Xem các ví dụ về hàm IFNULL sau đây

SELECT IFNULL(1,0); -- returns 1

Code language: SQL (Structured Query Language) (sql)

SELECT IFNULL('',1); -- returns ''

Code language: SQL (Structured Query Language) (sql)

________số 8_______

Làm thế nào nó hoạt động

  • SELECT IFNULL('',1); -- returns ''

    Code language: SQL (Structured Query Language) (sql)
    2 trả về 1 vì 1 không phải là NULL
  • SELECT IFNULL('',1); -- returns ''

    Code language: SQL (Structured Query Language) (sql)
    4 trả về

    SELECT IFNULL('',1); -- returns ''

    Code language: SQL (Structured Query Language) (sql)
    5 vì chuỗi

    SELECT IFNULL('',1); -- returns ''

    Code language: SQL (Structured Query Language) (sql)
    5 không phải là NULL
  • SELECT IFNULL('',1); -- returns ''

    Code language: SQL (Structured Query Language) (sql)
    8 trả về chuỗi

    SELECT IFNULL('',1); -- returns ''

    Code language: SQL (Structured Query Language) (sql)
    9 vì đối số đầu tiên là NULL

Hãy lấy một ví dụ thực tế về việc sử dụng hàm IFNULL

Đầu tiên, tạo một bảng mới có tên

SELECT IFNULL(NULL,'IFNULL function'); -- returns IFNULL function

Code language: SQL (Structured Query Language) (sql)
2 bằng cách sử dụng câu lệnh sau

CREATE TABLE IF NOT EXISTS contacts ( contactid INT AUTO_INCREMENT PRIMARY KEY, contactname VARCHAR(20) NOT NULL, bizphone VARCHAR(15), homephone VARCHAR(15) );

Code language: SQL (Structured Query Language) (sql)

Mỗi liên hệ có một tên, điện thoại doanh nghiệp và điện thoại nhà

Thứ hai, chèn dữ liệu vào bảng

SELECT IFNULL(NULL,'IFNULL function'); -- returns IFNULL function

Code language: SQL (Structured Query Language) (sql)
2

INSERT INTO contacts(contactname,bizphone,homephone) VALUES('John Doe','(541) 754-3009',NULL), ('Cindy Smith',NULL,'(541) 754-3110'), ('Sue Greenspan','(541) 754-3010','(541) 754-3011'), ('Lily Bush',NULL,'(541) 754-3111');

Code language: SQL (Structured Query Language) (sql)

Một số liên hệ chỉ có điện thoại nhà riêng hoặc điện thoại doanh nghiệp. Để lấy tất cả tên liên lạc và điện thoại từ bảng

SELECT IFNULL(NULL,'IFNULL function'); -- returns IFNULL function

Code language: SQL (Structured Query Language) (sql)
2, bạn sử dụng truy vấn sau

SELECT contactName, bizphone, homephone FROM contacts;

Code language: SQL (Structured Query Language) (sql)

Nếu MySQL trống
Nếu MySQL trống

Sẽ thật tuyệt nếu chúng ta có thể nhận được số điện thoại nhà của người liên hệ nếu số điện thoại cơ quan của người liên hệ không khả dụng. Đây là nơi

Đây là lúc chức năng IFNULL phát huy tác dụng. Hàm IFNULL trả về số điện thoại nhà riêng nếu số điện thoại cơ quan là NULL

Thứ ba, sử dụng truy vấn sau để lấy tên và điện thoại của tất cả các địa chỉ liên hệ

SELECT contactname, IFNULL(bizphone, homephone) phone FROM contacts;

Code language: SQL (Structured Query Language) (sql)

Nếu MySQL trống
Nếu MySQL trống

Lưu ý rằng bạn nên tránh sử dụng hàm IFNULL trong mệnh đề WHERE, vì nó làm giảm hiệu suất của truy vấn. Nếu bạn muốn kiểm tra xem một giá trị có

Nếu bạn muốn kiểm tra xem một giá trị có phải là NULL hay không, bạn có thể sử dụng

CREATE TABLE IF NOT EXISTS contacts ( contactid INT AUTO_INCREMENT PRIMARY KEY, contactname VARCHAR(20) NOT NULL, bizphone VARCHAR(15), homephone VARCHAR(15) );

Code language: SQL (Structured Query Language) (sql)
0 hoặc

CREATE TABLE IF NOT EXISTS contacts ( contactid INT AUTO_INCREMENT PRIMARY KEY, contactname VARCHAR(20) NOT NULL, bizphone VARCHAR(15), homephone VARCHAR(15) );

Code language: SQL (Structured Query Language) (sql)
1 trong mệnh đề

CREATE TABLE IF NOT EXISTS contacts ( contactid INT AUTO_INCREMENT PRIMARY KEY, contactname VARCHAR(20) NOT NULL, bizphone VARCHAR(15), homephone VARCHAR(15) );

Code language: SQL (Structured Query Language) (sql)
2

Trong hướng dẫn này, chúng tôi đã giới thiệu cho bạn về hàm IFNULL của MySQL và chỉ cho bạn cách sử dụng hàm IFNULL trong các truy vấn

Làm cách nào để kiểm tra xem có trống trong MySQL không?

CHỌN * TỪ yourTableName Ở ĐÂU yourSpecificColumnName LÀ NULL HOẶC yourSpecificColumnName = ' ' ; .

Làm cách nào để chọn nếu trống thì NULL trong MySQL?

Bạn cần sử dụng hàm NULLIF() từ MySQL. Cú pháp như sau. SELECT NULLIF(yourCoumnName,' ') as anyVariableName from yourTableName; Trong cú pháp trên, nếu bạn so sánh chuỗi rỗng( ' ') với chuỗi rỗng( ' .

Làm cách nào để kiểm tra xem giá trị có phải là NULL trong MySQL không?

Để tìm giá trị NULL, bạn phải sử dụng kiểm tra IS NULL . Các câu lệnh sau đây cho biết cách tìm số điện thoại NULL và số điện thoại trống. mysql> CHỌN * TỪ my_table Ở ĐÂU điện thoại LÀ NULL; . 3.

IS NULL trong điều kiện if trong MySQL?

Hàm ISNULL() của MySQL được sử dụng để kiểm tra mọi giá trị NULL trong biểu thức được truyền cho nó dưới dạng tham số . Nếu biểu thức có/kết quả là NULL, nó sẽ hiển thị 1. Nếu biểu thức không có hoặc cho kết quả NULL, hàm trả về 0.