首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SQL Server中的CASE语句逻辑

是一种条件表达式,用于根据不同的条件执行不同的操作。它可以在SELECT、UPDATE、DELETE语句中使用。

CASE语句有两种形式:简单CASE表达式和搜索CASE表达式。

  1. 简单CASE表达式: 简单CASE表达式通过比较一个表达式与一系列可能的值来确定要执行的操作。语法如下:CASE expression WHEN value1 THEN result1 WHEN value2 THEN result2 ... ELSE result END
    • expression是要比较的表达式。
    • value1、value2等是可能的值。
    • result1、result2等是与每个值对应的结果。
    • 如果expression与任何value都不匹配,则返回ELSE后指定的result。

示例:假设有一个名为users的表,其中包含id、name和age字段。我们想根据用户的年龄段给他们分组,可以使用简单CASE表达式:

代码语言:txt
复制

SELECT name,

代码语言:txt
复制
   CASE
代码语言:txt
复制
       WHEN age < 18 THEN '未成年'
代码语言:txt
复制
       WHEN age >= 18 AND age < 60 THEN '成年人'
代码语言:txt
复制
       ELSE '老年人'
代码语言:txt
复制
   END AS age_group

FROM users;

代码语言:txt
复制

推荐的腾讯云相关产品:云数据库SQL Server版(https://cloud.tencent.com/product/cdb_sqlserver

  1. 搜索CASE表达式: 搜索CASE表达式使用一系列条件来确定要执行的操作。它不像简单CASE表达式那样只比较一个表达式,而是逐个检查每个条件,直到找到匹配的条件为止。语法如下:CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ... ELSE result END
    • condition1、condition2等是要检查的条件。
    • result1、result2等是与每个条件对应的结果。
    • 如果没有条件匹配,则返回ELSE后指定的result。

示例:假设有一个名为orders的表,其中包含id、product和quantity字段。我们想根据订单数量的不同,给予不同的折扣,可以使用搜索CASE表达式:

代码语言:txt
复制

SELECT product,

代码语言:txt
复制
   CASE
代码语言:txt
复制
       WHEN quantity >= 100 THEN '10%折扣'
代码语言:txt
复制
       WHEN quantity >= 50 AND quantity < 100 THEN '5%折扣'
代码语言:txt
复制
       ELSE '无折扣'
代码语言:txt
复制
   END AS discount

FROM orders;

代码语言:txt
复制

推荐的腾讯云相关产品:云数据库SQL Server版(https://cloud.tencent.com/product/cdb_sqlserver

总结:SQL Server中的CASE语句逻辑是一种条件表达式,用于根据不同的条件执行不同的操作。它可以通过简单CASE表达式或搜索CASE表达式来实现。腾讯云提供的云数据库SQL Server版是一种适用于SQL Server的云数据库解决方案。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券