一、条件判断函数
1.IF():根据条件返回不同的值。
SELECT IF(1 > 0, 'True', 'False'); -- 输出:True
2. CASE:类似于编程语言中的 switch-case 语句,根据条件返回不同的值。
SELECT CASE
WHEN 1 > 0 THEN 'True'
WHEN 0 > 1 THEN 'False'
ELSE 'Unknown'
END; -- 输出:True
3. IFNULL():如果第一个参数为 NULL,则返回第二个参数,否则返回第一个参数。
SELECT IFNULL(NULL, 'Default Value'); -- 输出:Default Value
二、循环函数
1. LOOP:创建一个循环,重复执行指定的语句。
SET @i = 1;
SELECT LOOP
SELECT CONCAT('Number: ', @i) AS result;
SET @i = @i + 1;
IF @i > 5 THEN
LEAVE;
END IF;
END LOOP; -- 输出:Number: 1, Number: 2, Number: 3, Number: 4, Number: 5
2.REPEAT:重复执行指定的语句指定的次数。
SELECT REPEAT('Hello, World!', 3); -- 输出:Hello, World!Hello, World!Hello, World!
3.WHILE:当指定的条件为真时,重复执行指定的语句。
SET @i = 1;
SELECT WHILE @i <= 5
SELECT CONCAT('Number: ', @i) AS result;
SET @i = @i + 1;
END WHILE; -- 输出:Number: 1, Number: 2, Number: 3, Number: 4, Number: 5
4.DO...WHILE:至少执行一次指定的语句,然后根据条件决定是否继续执行。
SET @i = 1;
SELECT DO
SELECT CONCAT('Number: ', @i) AS result;
SET @i = @i + 1;
UNTIL @i > 5;
END DO; -- 输出:Number: 1, Number:2, Number:3, Number:4, Number:5