在 SQL 中,CASE WHEN 语句的执行顺序是从上到下,逐个判断条件是否满足
以下是一个简单的 CASE WHEN 示例:
SELECT CustomerID, FirstName, LastName, CASE WHEN TotalOrders >= 10 THEN 'Frequent Customer' WHEN TotalOrders < 10 AND TotalOrders > 0 THEN 'Occasional Customer' ELSE 'New Customer' END AS CustomerType FROM Customers;
在这个示例中,CASE WHEN 语句首先检查 TotalOrders
是否大于等于 10,如果满足则将 CustomerType
设置为 ‘Frequent Customer’。接下来,如果 TotalOrders
小于 10 且大于 0,则将 CustomerType
设置为 ‘Occasional Customer’。最后,如果没有满足以上任何条件,则将 CustomerType
设置为 ‘New Customer’。
需要注意的是,一旦某个条件满足,CASE WHEN 语句会立即停止判断后续条件,并返回相应的结果。因此,在编写 CASE WHEN 语句时,确保将最具体的条件放在前面,最不具体的条件放在后面。