MsSql

关注公众号 jb51net

关闭
首页 > 数据库 > MsSql > SQL 单条件判断函数和多条件判断

SQL中的单条件判断函数IF和多条件判断CASE WHEN的用法

作者:Senye_ing

MySQL提供了IF、IFNULL、CASE等条件判断函数,本文就来介绍一下SQL中的单条件判断函数IF和多条件判断CASE WHEN的用法,感兴趣的可以了解一下

一、单条件判断IF

在SQL中,条件判断函数IF用于根据指定的条件返回不同的值。

语法:

IF(condition, value_if_true, value_if_false)

参数说明:

示例:

假设有如下名为studensts的表,包含id、name和score字段:

CREATE TABLE `students` (
  `id` int(11) NOT NULL,
  `name` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL,
  `score` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;

我们想根据学生的分数判断是否及格,并返回相应的结果。

SELECT id, name, IF(score >= 60, '及格', '不及格') AS result 
FROM students;

以上查询会返回一个结果集,其中result列将显示每个学生的及格或不及格的结果。

二、多条件判断CASE WHEN

在SQL中,条件判断函数CASE WHEN用于在查询中根据特定条件返回不同的结果。

语法:

CASE WHEN condition1 THEN result1
     WHEN condition2 THEN result2
     ...
     ELSE resultN
END

参数说明:

示例:

例如,下面的示例查询根据学生成绩的不同等级返回不同的提示信息:

SELECT name,
       CASE WHEN score >= 90 THEN '优秀'
            WHEN score >= 80 THEN '良好'
            WHEN score >= 70 THEN '中等'
            WHEN score >= 60 THEN '及格'
            ELSE '不及格'
       END AS grade
FROM students;

以上查询会根据学生的成绩等级返回相应的提示信息,并将结果命名为grade列。

到此这篇关于SQL中的单条件判断函数IF和多条件判断CASE WHEN的用法的文章就介绍到这了,更多相关SQL 单条件判断函数和多条件判断内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

您可能感兴趣的文章:
阅读全文