VIEW
STORED PROCEDURE
CONDITION & STATEMENT
FUNCTION
TRIGGER
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Lệnh rẻ nhánh IF ELSE trong SQL Server

Trong bài này bạn sẽ được học một lệnh rất hay dùng để rẻ nhánh chương trình đó là lệnh IF ELSE. Lệnh IF ELSE được sử dụng rất nhiều trong procedure, trigger, function vì nó rất linh động khi xây dựng một chương trình phức tạp.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

1. Lệnh IF

Lệnh if sẽ kiểm tra một biểu thức có đúng  hay không, nếu đúng thì thực thi nội dung bên trong của IF, nếu sai thì bỏ qua.

IF boolean_expression   
BEGIN
    { statement_block }
END

Trong đó:

  • Nội dung bên trong BEGIN ... END chính là phần thân của lệnh IF.
  • boolean_expression là biểu thức điều kiện, nếu giá trị biểu thức là TRUE thì phần thân sẽ được chạy, ngược lại thì bỏ qua

Hãy xem ví dụ dưới đây:

Bài viết này được đăng tại [free tuts .net]

BEGIN
    DECLARE @sales INT;
 
    SELECT 
        @sales = SUM(list_price * quantity)
    FROM
        sales.order_items i
        INNER JOIN sales.orders o ON o.order_id = i.order_id
    WHERE
        YEAR(order_date) = 2018;
 
    SELECT @sales;
 
    IF @sales > 1000000
    BEGIN
        PRINT 'Great! The sales amount in 2018 is greater than 1,000,000';
    END
END

Đoạn code này kiểm tra số tiền thu về trong năm 2008 có lớn hơn một triệu đô hay không, nếu hơn thì in ra thông báo "Great! The sales amount in 2018 is greater than 1,000,000".

2. Lệnh IF ELSE

Trường hợp điều kiện ở IF là false thì chương trình sẽ chạy ở phần ELSE.

IF Boolean_expression
BEGIN
    -- Statement block executes when the Boolean expression is TRUE
END
ELSE
BEGIN
    -- Statement block executes when the Boolean expression is FALSE
END

Mỗi lệnh IF đều có biểu thức điều kiện, tuy nhiên phần ELSE thì không cần vì nó là phần sẽ chạy nếu như phần IF không thỏa. Hãy xem ví dụ dưới đây:

BEGIN
    DECLARE @sales INT;
 
    SELECT 
        @sales = SUM(list_price * quantity)
    FROM
        sales.order_items i
        INNER JOIN sales.orders o ON o.order_id = i.order_id
    WHERE
        YEAR(order_date) = 2017;
 
    SELECT @sales;
 
    IF @sales > 10000000
    BEGIN
        PRINT 'Great! The sales amount in 2018 is greater than 10,000,000';
    END
    ELSE
    BEGIN
        PRINT 'Sales amount in 2017 did not reach 10,000,000';
    END
END

Ví dụ này viết lại ở trên, tuy nhiên mình bổ sung phần xuất thông báo ra màn hình như sau: Nếu tổng tiền lớn hơn 1 triệu đô thì in ra thông báo "Great! The sales amount in 2018 is greater than 10,000,000", ngược lại thì in ra thông báo "Sales amount in 2017 did not reach 10,000,000".

3. Lệnh IF ELSE lồng nhau

IF ELSE lồng nhau tức là lệnh IF này nằm bên trong một lệnh IF khác, các sử dụng này sẽ giúp chương trình rẻ rất nhiều nhánh khác nhau.

Hãy xem ví dụ dưới đây:

BEGIN
    DECLARE @x INT = 10,
            @y INT = 20;
 
    IF (@x > 0)
    BEGIN
        IF (@x < @y)
            PRINT 'x > 0 and x < y';
        ELSE
            PRINT 'x > 0 and x >= y';
    END 
END

Như bạn thấy lệnh IF ELSE rất hữu ích vì nó giúp chúng ta kiểm soát chương trình một cách hiệu quả, giải quyết được nhiều bài toán phức tạp.

Nếu bạn là lập trình viên và đã từng học qua các ngôn ngữ như C, C++ thì không còn xa lạ gì với lệnh này, chỉ là cú pháp nó được thể hiện ở SQL Server hơi khác.

Cùng chuyên mục:

Hàm CHAR trong SQL Server

Hàm CHAR trong SQL Server

Cách sử dụng hàm CHAR trong SQL Server

Hàm CHARINDEX trong SQL Server

Hàm CHARINDEX trong SQL Server

Cách sử dụng hàm CHARINDEX trong SQL Server

Hàm CONCAT trong SQL Server

Hàm CONCAT trong SQL Server

Cách sử dụng hàm CONCAT trong SQL Server

Hàm + trong SQL Server

Hàm + trong SQL Server

Cách sử dụng hàm + trong SQL Server

Hàm DATALENGTH trong SQL Server

Hàm DATALENGTH trong SQL Server

Cách sử dụng hàm DATALENGTH trong SQL Server

Hàm LEFT trong SQL Server

Hàm LEFT trong SQL Server

Cách sử dụng hàm LEFT trong SQL Server

Hàm LEN trong SQL Server

Hàm LEN trong SQL Server

Cách sử dụng hàm LEN trong SQL Server

Hàm LOWER trong SQL Server

Hàm LOWER trong SQL Server

Cách sử dụng hàm LOWER trong SQL Server

Hàm LTRIM trong SQL Server

Hàm LTRIM trong SQL Server

Cách sử dụng hàm LTRIM trong SQL Server

Hàm NCHAR trong SQL Server

Hàm NCHAR trong SQL Server

Cách sử dụng hàm NCHAR trong SQL Server

Hàm PATINDEX trong SQL Server

Hàm PATINDEX trong SQL Server

Cách sử dụng hàm PATINDEX trong SQL Server

Hàm REPLACE trong SQL Server

Hàm REPLACE trong SQL Server

Cách sử dụng hàm REPLACE trong SQL Server

Hàm RIGHT trong SQL Server

Hàm RIGHT trong SQL Server

Cách sử dụng hàm RIGHT trong SQL Server

Hàm RTRIM trong SQL Server

Hàm RTRIM trong SQL Server

Cách sử dụng hàm RTRIM trong SQL Server

Hàm SPACE trong SQL Server

Hàm SPACE trong SQL Server

Cách sử dụng hàm SPACE trong SQL Server

Hàm STR trong SQL Server

Hàm STR trong SQL Server

Cách sử dụng hàm STR trong SQL Server

Hàm UPPER trong SQL Server

Hàm UPPER trong SQL Server

Cách sử dụng hàm UPPER trong SQL Server

Hàm SUBSTRING trong SQL Server

Hàm SUBSTRING trong SQL Server

Cách sử dụng hàm SUBSTRING trong SQL Server

Hàm STUFF trong SQL Server

Hàm STUFF trong SQL Server

Cách sử dụng hàm STUFF trong SQL Server

Hàm ABS trong SQL Server

Hàm ABS trong SQL Server

Cách sử dụng hàm ABS trong SQL Server

Top