Thứ Ba, 20 Tháng Hai 2024
Trang chủPHP & MysqlMySQLSử dụng IF trong MySQL - Hàm IF trong MySQL

Sử dụng IF trong MySQL – Hàm IF trong MySQL

IF…ELSE trong các ngôn ngữ lập trình C/C++, JAVA, PHP hay các ngôn ngữ lập trình khác chúng ta đã được tìm hiểu, thì đây là câu lệnh được sử dụng để thực hiện các hành động khác nhau dựa theo các điều kiện khác nhau hay dùng để rẽ nhánh chương trình.

DANH SÁCH BÀI VIẾT
Hàm COUNT trong MySQL - Hàm đếm số lượng hàng
Hàm SUM trong MYSQL - Tính tổng một cột (Hiểu trong 5 phút)
Sử dụng IF trong MySQL - Hàm IF trong MySQL
Tìm hiểu hàm DATE_FORMAT trong MySQL - Định dạng thời gian MySQL
Tìm hiểu CASE WHEN trong MySQL - cách sử dụng và ứng dụng

Mệnh đề IF…ELSE trong MySQL cũng tương tự như vậy. Tuy nhiên trong bài viết này ta sẽ không tìm hiểu về mệnh đề IF…ELSE mà chúng ta tìm hiểu về hàm IF(). Hàm này hoạt động dựa trên câu lệnh IF, hàm có 3 tham số, tham số thứ nhất là điều kiện, tham số thứ 2 là kết quả sẽ được trả về cho hàm nếu điều kiện đưa vào hàm là đúng, tham số thứ 3 là kết quả trả về cho hàm nếu điều kiện là sai. Cụ thể như thế nào và cách dùng hàm IF() ra sao hãy cùng blog tuicocach.com tìm hiểu ngay bài viết dưới đây.

Hàm IF() trong MySQL

Hàm IF() trong MySQL trả về một giá trị nếu điều kiện là TRUE hoặc giá trị khác nếu điều kiện là FALSE.

Cú pháp hàm IF()

IF(condition, value_if_true, value_if_false)

Trong đó:

  • condition: Là điều kiện
  • value_if_true: Kết quả của hàm sẽ trả về giá trị này nếu điều kiện là đúng
  • value_if_false: Kết quả của hàm sẽ trả về giá trị này nếu điều kiện là sai

Ví dụ:

IF(1 < 2, 1, 0)

Trong ví dụ này hiển nhiên 1bé hơn 2, như vậy tức là điều kiện này là đúng. Vậy hàm sẽ trả về kết quả là 1.

IF(1 > 2, 1, 0)

Nhưng trong trường hợp này, 1không thể lớn hơn 2 như vậy tức là điều kiện đã sai. Vậy ví dụ này hàm sẽ trả về kết quả là 0.

=>>XEM THÊM: Kiếm tiền Accesstrade, kiếm tiền tại nhà với Accesstrade.vn – Tiếp thị liên kết

Ví dụ áp dụng

Mình sẽ có một ví dụ cụ thể với bảng dữ liệu như bên dưới.

Sử dụng IF trong MySQL - Hàm IF trong MySQL

Ở đây chúng ta có thể rất dễ dàng nhận thấy cột role có 3 giá trị khác nhau. với giá trị tương ứng với vị trí chức vụ: 1- admin, 2 – agent, 3 – user.

Vậy khi truy xuất dữ liệu mình muốn hiển thị một cột để phân biệt rõ rằng hơn tài khoản đó là admin hoặc không phải admin(coi user và agent là một loại tk như nhau).

Mình sẽ viết lệnh SQL như sau:

SELECT *, IF(role = 1, 1, 0) AS is_admin FROM `users` WHERE 1;

Trong câu lệnh trên trong hàm IF tham số điều kiện là role = 1, tham số thứ 2 là 1(trả về khi đk đúng), tham số thứ 3 là 0(trả về khi đk sai).

Như vậy tức là hàng nào có role 1 thì hàm IF sẽ trả về kết quả là 1, ngược lại các hàng còn lại trả kết quả về 0.

Sử dụng AS is_admin để đặt lại tên cho cột đó là is_admin. Nếu bạn còn chưa biết về AS thì xem thêm bài viết này nhé: Sử dụng AS (Alias) trong MySQL – Đặt bí danh trong MySQL.

Khi thực hiện câu lệnh truy vấn trên ta sẽ nhận được kết quả như bảng dưới đây.

Sử dụng IF trong MySQL - Hàm IF trong MySQL

Cột is_admin đều có giá trị là 1 với các hàng có role 1, ngược lại các hàng còn lại đều có giá trị là 0.

Cảm ơn bạn đã theo dõi bài viết! Hy vọng qua bài viết này đã giúp bạn hiểu rõ về hàm if trong MySQL.

[XEM TẤT CẢ CÁC BÀI HƯỚNG DẪN MYSQL TẠI ĐÂY]

XEM THÊM
Câu lệnh INSERT INTO trong MySQL – Lệnh chèn dữ liệu vào bảng
Câu lệnh CREATE TABLE trong MySQL – Lệnh tạo bảng mới
Các kiểu dữ liệu trong MySQL (Data Types) – Học MySQL
Câu lệnh SELECT trong MySQL – Khi nào thì dùng lệnh SELECT
Toán tử so sánh trong MySQL – So sánh bằng, lớn hơn, nhỏ hơn
Sử dụng AS (Alias) trong MySQL – Đặt bí danh trong MySQL
0 0 Phiếu bình chọn
Xếp hạng bài viết
BÀI VIẾT LIÊN QUAN

1 BÌNH LUẬN

Đăng ký nhận thông báo
Thông báo email khi
guest
1 Bình luận
Mới nhất
Cũ nhất Được bình chọn nhiều nhất
Không thể gửi email
Phản hồi nội tuyến

NÊN ĐỌC THÊM

Bạn muốn tìm kiếm gì?

Dịch vụ code thuê

TUICOCACH.COM NHẬN ĐẶT TEXTLINK, BANNER, GP
1
0
Giáo sư! có thể ném gạch bên dưới nhé!x