首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >SQL流程控制函数(一)

SQL流程控制函数(一)

原创
作者头像
堕落飞鸟
发布2023-05-10 10:36:46
发布2023-05-10 10:36:46
3950
举报
文章被收录于专栏:飞鸟的专栏飞鸟的专栏

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;

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • IF函数
  • CASE函数
  • WHILE函数
  • LOOP函数
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档