sqlserver存储过程case when
时间: 2023-07-06 12:25:54 浏览: 104
SQL Server 的 CASE WHEN 语句可以在存储过程中使用,它是用于在满足一定条件时返回不同结果的一种逻辑判断语句。
下面是一个简单的示例,演示如何在 SQL Server 存储过程中使用 CASE WHEN 语句:
```
CREATE PROCEDURE sp_GetProductCountByCategory
@CategoryName nvarchar(50)
AS
BEGIN
SELECT
SUM(CASE WHEN ProductName LIKE 'Chai%' THEN 1 ELSE 0 END) AS ChaiCount,
SUM(CASE WHEN ProductName LIKE 'Chang%' THEN 1 ELSE 0 END) AS ChangCount,
SUM(CASE WHEN ProductName LIKE 'Aniseed%' THEN 1 ELSE 0 END) AS AniseedCount
FROM
Products
WHERE
CategoryName = @CategoryName
END
```
在上面的存储过程中,我们使用了三个 CASE WHEN 语句来计算不同产品名称的数量,并将结果作为存储过程的输出返回。这里的关键是在 CASE WHEN 语句中使用了 LIKE 操作符来匹配不同的产品名称模式。
当然,这只是一个简单的示例。在实际应用中,CASE WHEN 语句可以用于更复杂的逻辑判断和计算,以实现更多样化的数据处理和分析功能。
阅读全文