IF函数
IF函数用于在满足某个条件时执行一些操作,否则执行另一些操作。语法如下:
代码语言:javascript复制IF(condition, true_value, false_value)
其中,condition是要判断的条件,true_value是在条件成立时返回的值,false_value是在条件不成立时返回的值。
例如,以下SQL语句使用IF函数判断一个数是否为正数:
代码语言:javascript复制SELECT IF(number > 0, 'positive', 'non-positive') as result FROM table;
如果number大于0,则返回'positive',否则返回'non-positive'。
CASE函数
CASE函数用于根据不同的条件执行不同的操作。语法如下:
代码语言:javascript复制CASE expr WHEN value1 THEN result1 WHEN value2 THEN result2 ELSE default_value END
其中,expr是要比较的表达式,value1和value2是需要比较的值,result1和result2是对应的操作结果,default_value是当没有匹配的条件时返回的默认值。
例如,以下SQL语句使用CASE函数根据某个字段的值执行不同的操作:
代码语言:javascript复制SELECT CASE grade WHEN 'A' THEN 'Excellent' WHEN 'B' THEN 'Good' WHEN 'C' THEN 'Average' ELSE 'Fail' END as result FROM table;
如果grade为'A',则返回'Excellent';如果grade为'B',则返回'Good';如果grade为'C',则返回'Average';否则返回'Fail'。
WHILE函数
WHILE函数用于在满足某个条件时循环执行一些操作。语法如下:
代码语言:javascript复制WHILE condition DO statement END WHILE;
其中,condition是要判断的条件,statement是需要循环执行的语句。
例如,以下SQL语句使用WHILE函数计算1到100的和:
代码语言:javascript复制DECLARE sum INT DEFAULT 0;
DECLARE i INT DEFAULT 1;
WHILE i <= 100 DO
SET sum = sum i;
SET i = i 1;
END WHILE;
SELECT sum;
LOOP函数
LOOP函数用于无限循环执行一些操作,直到满足某个条件退出循环。语法如下:
代码语言:javascript复制LOOP statement IF condition THEN LEAVE END IF; END LOOP;
其中,statement是需要循环执行的语句,condition是退出循环的条件。
例如,以下SQL语句使用LOOP函数计算1到100的和:
代码语言:javascript复制DECLARE sum INT DEFAULT 0;
DECLARE i INT DEFAULT 1;
LOOP
SET sum = sum i;
SET i = i 1;
IF i > 100 THEN
LEAVE;
END IF;
END LOOP;
SELECT sum;