在 SQL Server 中,你可以使用带有WHERE
子句的CASE WHEN
表达式来根据条件进行不同的操作。以下是一个示例,展示了如何使用这种表达式:
SELECT
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
-- 可以添加更多的 WHEN 子句
ELSE default_result
END AS result_column
FROM
your_table
WHERE
condition;
在上述示例中,你可以根据需要添加多个WHEN
子句,每个子句都指定了一个条件和相应的结果。如果满足特定的条件,就返回相应的结果。如果没有满足任何条件,则返回ELSE
子句指定的默认结果。
your_table
是你要查询的表的名称,你需要将其替换为实际的表名。
condition
是一个条件,用于筛选出要应用CASE WHEN
表达式的行。只有满足该条件的行才会根据条件进行计算。
以下是一个更具体的示例,假设你有一个名为Orders
的表,其中包含OrderID
、ProductID
和OrderStatus
列,并且你想根据OrderStatus
列的值来计算不同的结果:
SELECT
OrderID,
ProductID,
CASE
WHEN OrderStatus = 'Pending' THEN 'Pending'
WHEN OrderStatus = 'Shipped' THEN 'Shipped'
WHEN OrderStatus = 'Delivered' THEN 'Delivered'
ELSE 'Unknown'
END AS status_description
FROM
Orders;
在上述示例中,根据OrderStatus
列的值,将OrderStatus
分别设置为Pending
、Shipped
或Delivered
,并将其显示为相应的状态描述。
你可以根据实际的需求和数据来修改示例中的条件和结果,以满足你的具体业务需求。
希望这个示例对你有帮助。如果你有任何其他问题,请随时提问。